PBCallInfo structure
The PBCallInfo structure is used to hold data and return type
information for calls between extensions and the PBVM. It has three
public members:
|
1 2 3 |
IPB_Arguments* pArgs; IPB_Value* returnValue; pbclass returnClass; |
The following code initializes a PBCallInfo structure using the
IPB_Session InitCallInfo method. After allocating a PBCallInfo structure
called ci, the IPB_Session GetClass and GetMethodID methods are used to
get the class and method ID of the current method. Then, these
parameters are used to initialize the ci structure:
|
1 2 3 4 5 6 7 8 9 |
pbclass cls; pbmethodID mid; PBCallInfo* ci = new PBCallInfo; cls = Session -> GetClass(myobj); mid = Session -> GetMethodID(cls, "myfunc", PBRT_FUNCTION, "II"); Session -> InitCallInfo(cls, mid, ci); |
When you have finished using a PBCallInfo structure, you must call
FreeCallInfo to release the allocated memory:
|
1 2 |
Session -> FreeCallInfo(ci); delete ci; |
The IPB_Arguments and IPB_Value interfaces have methods that
enable you to pass values between the PBVM and PowerBuilder extension
modules using PBCallInfo to hold the data.