IPBX_Marshaler interface:
InvokeRemoteMethod method
Description
Used in PowerBuilder marshaler native classes to call remote methods.
Syntax
InvokeRemoteMethod(IPB_Session *session, pbproxyobject obj, LPCTSTR methodDesc, PBCallInfo *ci)
Argument |
Description |
---|---|
session |
This IPB session |
obj |
The proxy object for the remote object |
methodDesc |
An arbitrary string stored as an alias
name for the remote method in the proxy, for example: |
ci |
The parameters and return value setting for the call |
Return Values
PBXRESULT.PBX_OK if the call succeeded.
Examples
This example shows a header file for a sample marshaler class:
#include "sampleinclude.h"
#include <pbext.h>
class SampleMarshaler : public IPBX_Marshaler
{
private:
string d_mystring;
long d_mylong;
private:
void myMethod(string arg1);
public:
SampleMarshaler(
string myString,
long mylong
);
~SampleMarshaler();
virtual PBXRESULT InvokeRemoteMethod
(
IPB_Session* session,
pbproxyObject obj,
LPCTSTR methodDesc,
PBCallInfo* ci
);
virtual pbulong GetModuleHandle();
virtual void Destroy();};
The associated C++ implementation file contains code like this:
PBXRESULT SampleMarshaler::InvokeRemoteMethod
(
IPB_Session* session,
pbproxyObject obj,
LPCTSTR methodDesc,
PBCallInfo* ci
)
{
// method invocation
}
Usage
You must implement this method in the marshaler native class.