Appeon PowerBuilder® 2019 R2
FOR WINDOWS
DOCUMENT ID: DC37794-01-1900-01
LAST REVISED: March 24, 2020
Copyright © 2019 Appeon. All rights reserved.
This publication pertains to Appeon software and to any subsequent release until otherwise indicated in new editions or technical notes. Information in this document is subject to change without notice. The software described herein is furnished under a license agreement, and it may be used or copied only in accordance with the terms of that agreement.
Upgrades are provided only at regularly scheduled software release dates. No part of this publication may be reproduced, transmitted, or translated in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without the prior written permission of Appeon Inc.
Appeon and other Appeon products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Appeon Inc.
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP and SAP affiliate company.
Java and all Java-based marks are trademarks or registered trademarks of Oracle and/or its affiliates in the U.S. and other countries.
Unicode and the Unicode Logo are registered trademarks of Unicode, Inc.
All other company and product names mentioned may be trademarks of the respective companies with which they are associated.
Use, duplication, or disclosure by the government is subject to the restrictions set forth in subparagraph (c)(1)(ii) of DFARS 52.227-7013 for the DOD and as set forth in FAR 52.227-19(a)-(d) for civilian agencies.
Appeon Inc., 1/F, Shell Industrial Building, 12 Lee Chung Street, Chai Wan District, Hong Kong
Table of Contents
- Programmers Guide
-
- Introduction to PBNI
- Building PowerBuilder Extensions
-
- Nonvisual extension example
- Creating a PowerBuilder extension
- Adding an extension to a PowerBuilder target
- Using the extension
- Creating and using a visual extension
-
- Step 1: Decide on a feature to implement
- Step 2: Define the classes and functions in the extension
- Step 3: Declare visual classes and global functions
- Step 4: Implement native classes
- Step 5: Export methods to create class instances
- Step 6: Build and use a PBX
- Step 7: Use the visual extension in an application
- Creating visual class instances
- Event processing in visual extensions
- Calling PowerScript from an extension
- Exception handling and debugging
- Creating Marshaler Extensions
- Exchanging Data with PowerBuilder
- Calling PowerBuilder from C++
- Reference
-
- PBNI Types and Return Values
- PBNI Interfaces, Structures, and Methods
-
- Header file contents
- Class and interface summary
- IPB_Arguments interface
- IPB_ResultSetAccessor interface
- IPB_RSItemData interface
- IPB_Session interface
-
- AcquireArrayItemValue
- AcquireValue
- Add<type>Argument
- AddGlobalRef
- AddLocalRef
- ClearException
- CreateResultSet
- FindClass
- FindClassByClassID
- FindGroup
- FindMatchingFunction
- FreeCallInfo
- Get<type>ArrayItem
- Get<type>Field
- Get<type>GlobalVar
- Get<type>SharedVar
- GetArrayInfo
- GetArrayItemType
- GetArrayLength
- GetBlob
- GetBlobLength
- GetClass
- GetClassName
- GetCurrGroup
- GetDateString
- GetDateTimeString
- GetDecimalString
- GetEnumItemName
- GetEnumItemValue
- GetException
- GetFieldID
- GetFieldName
- GetFieldType
- GetGlobalVarID
- GetGlobalVarType
- GetMarshaler
- GetMethodID
- GetMethodIDByEventID
- GetNativeInterface
- GetNumOfFields
- GetPBAnyArrayItem
- GetPBAnyField
- GetPBAnyGlobalVar
- GetPBAnySharedVar
- GetProp
- GetResultSetAccessor
- GetSharedVarID
- GetSharedVarType
- GetString
- GetStringLength
- GetSuperClass
- GetSystemClass
- GetSystemGroup
- GetTimeString
- HasExceptionThrown
- HasPBVisualObject
- InitCallInfo
- InvokeClassFunction
- InvokeObjectFunction
- IsArrayItemNull
- IsAutoInstantiate
- IsFieldArray
- IsFieldNull
- IsFieldObject
- IsGlobalVarArray
- IsGlobalVarNull
- IsGlobalVarObject
- IsNativeObject
- IsSharedVarArray
- IsSharedVarNull
- IsSharedVarObject
- NewBlob
- NewBoundedObjectArray
- NewBoundedSimpleArray
- NewDate
- NewDateTime
- NewDecimal
- NewObject
- NewProxyObject
- NewString
- NewTime
- NewUnboundedObjectArray
- NewUnboundedSimpleArray
- PopLocalFrame
- ProcessPBMessage
- PushLocalFrame
- Release
- ReleaseArrayInfo
- ReleaseDateString
- ReleaseDateTimeString
- ReleaseDecimalString
- ReleaseResultSetAccessor
- ReleaseString
- ReleaseTimeString
- ReleaseValue
- RemoveGlobalRef
- RemoveLocalRef
- RemoveProp
- RestartRequested
- Set<type>ArrayItem
- Set<type>Field
- Set<type>GlobalVar
- Set<type>SharedVar
- SetArrayItemToNull
- SetArrayItemValue
- SetBlob
- SetDate
- SetDateTime
- SetDecimal
- SetFieldToNull
- SetGlobalVarToNull
- SetMarshaler
- SetProp
- SetSharedVarToNull
- SetString
- SetTime
- SetValue
- SplitDate
- SplitDateTime
- SplitTime
- ThrowException
- TriggerEvent
- UpdateField
- IPB_Value interface
- IPB_VM interface
- IPBX_Marshaler interface
- IPBX_NonVisualObject interface
- IPBX_UserObject interface
- IPBX_VisualObject interface
- PBArrayInfo structure
- PBCallInfo structure
- PB_DateData structure
- PB_DateTimeData structure
- PB_TimeData structure
- PBX_DrawItemStruct structure
- PBArrayAccessor template class
- PBBoundedArrayCreator template class
- PBBoundedObjectArrayCreator class
- PBObjectArrayAccessor class
- PBUnboundedArrayCreator template class
- PBUnboundedObjectArrayCreator class
- Exported methods
- Method exported by PowerBuilder VM
- PBNI Tool Reference
- Appendix