QMCall

Top  Previous  Next

 

The QMCall function calls a catalogued subroutine on the server.

 

 

Format

 

VBQMCall ByVal SubrName as String, ByVal ArgCount as Integer, Optional ByRef Arg1 as String, ...

 

CQMCall(char * SubrName, short int ArgCount, ArgList...)

 

ObjSession->Call(SubrName, ArgList...)

 

where

 

SubrNameis the name of the subroutine to be called.

 

ArgCountis the number of arguments following (not present in the QMBasic class module API).

 

ArgListis a list of arguments to be passed to the subroutine.

 

 

The QMCall function calls the named catalogued subroutine on the server system. This subroutine may take up to 20 arguments. QMClient does not provide a method to call subroutines with a greater number of arguments.

 

In the Visial Basic as C APIs, there may be at most 20 variables named as arguments and these must be declared as strings.

 

In the C API, the size of any argument variable that may be overwritten by the subroutine must be large enough to receive the updated value. Failure to observe this rule will result in memory corruption.

 

If the subroutine modifies the values of any of its arguments, this will be reflected in the variables specified in ArgList. It is a good idea to ensure that arguments that are only used for values returned from the subroutine are set to empty strings before the call to minimise data unnecessarily sent across the network.

 

The called subroutine may make use of any of the standard QMBasic programming statements and functions, however, it may not perform terminal input or output as there is no terminal associated with a server process.