InvokeModule(ModuleId: String, FunctionName: String, Params: Array): Variant;
ModuleId. Python module identifier in repository.
FunctionName. Name of executed function.
Params. Array of parameter values sent to function.
The InvokeModule method executes the function stored in a Python module, and returns result of its work.
Features of parameters use:
The format of ModuleId parameter value depends on Python module location in repository. If a Python module is in the container object, parameter value is set in the format: <container object identifier>.<Python module identifier>.
Value of the FunctionName parameter is case sensitive.
If the executed function does not contain input parameters, do not specify Params. Values of parameters in Params can be sent as a separate array or enumerated via a comma. Simple type values, such as, String, Char, Integer, Double, Decimal, Currency, Boolean (types str, int, float, bool in Python), are sent according to Fore syntax without transformations. The Null value corresponds to the None value in the Python language. If a Python function receives an object of any Python class, list, or tuple as an input parameter, create the corresponding object using one of the Fore classes: PythonClassObject, PythonList, PythonTuple.
If the function has parameters with default values, and it is required to send only part of parameters, use named parameters. Named parameters are implemented by the PythonParameter class. Create parameters with required names, set value for them and send them to the Invoke method.
Executing the example requires that the repository contains a Python module with the MOD_PYT identifier. The following function is implemented in the module:
def summXY(x, y):
return x + y
Add a link to the Python system assembly.
Sub UserProc;
Var
pUtils: IPythonUtils;
Result: Variant;
Begin
pUtils := New PythonUtils.Create;
Result := pUtils.InvokeModule("MOD_PYT", "summXY", 100, 500);
Debug.WriteLine(Result);
End Sub UserProc;
On executing the example a function in the Python language is executed that sums two numbers sent in parameters. The result of function execution is displayed in the development environment console.
See also: