Name: String;
The Name property determines name of the parameter.
The name is case-sensitive. If the parameter is sent to the function, which signature does not contain the parameter with the specified name, an exception is thrown.
Executing the example requires a folder with modules: d:\Work\Python\. The folder contains the sample.py module. The module implements the function that executes various mathematical operations with at least two operands:
def getMathOperationWithOperands(a = 0, b = 0, c = 0):
if (a != 0) and (b != 0) and (c != 0):
return ((a + b) * c)
elif (a != 0) and (b != 0):
return a+b
elif (a != 0) and (c != 0):
return a-c
elif (b != 0) and (c != 0):
return b*c
else:
return -1
Add a link to the Python system assembly.
Sub UserProc;
Var
pUtils: IPythonUtils;
pObj1, pObj2, pObj3: IPythonValueObject;
pParam1, pParam2, pParam3: IPythonParameter;
Result: Variant;
Begin
pUtils := New PythonUtils.Create;
pUtils.AddFolderToPythonPath("d:\Work\Python\");
//Create three objects with values
pObj1 := New PythonValueObject.Create(100);
pObj2 := New PythonValueObject.Create(200);
pObj3 := New PythonValueObject.Create(300);
//Create three named parameters
pParam1 := New PythonParameter.Create("a", pObj1);
pParam2 := New PythonParameter.Create("b", pObj2);
pParam3 := New PythonParameter.Create("c", pObj3);
//Execute function with various parameters
Result := pUtils.Invoke("sample", "getMathOperationWithOperands", pParam1, pParam2);
Debug.WriteLine(Result);
Result := pUtils.Invoke("sample", "getMathOperationWithOperands", pParam2, pParam3);
Debug.WriteLine(Result);
Result := pUtils.Invoke("sample", "getMathOperationWithOperands", pParam1, pParam3);
Debug.WriteLine(Result);
Result := pUtils.Invoke("sample", "getMathOperationWithOperands", pParam1, pParam2, pParam3);
Debug.WriteLine(Result);
//Change settings in parameter: a --> b
Debug.WriteLine(" Change parameter: a --> b");
pParam1.Name := "b";
pParam1.Value := New PythonValueObject.Create(-200);
Result := pUtils.Invoke("sample", "getMathOperationWithOperands", pParam1, pParam3);
Debug.WriteLine(Result);
End Sub UserProc;
After executing the example three named parameters with values are created. The getMathOperationWithOperands Python function is executed with various combinations of these parameters. Execution results are displayed in the development environment console.
See also: