Generating Routine Calls

Applies to TestComplete 15.47, last modified on January 20, 2023

Custom actions created with script extensions can generate code that calls procedures or functions. To generate an expression containing a procedure or function call, do the following:

  • Call the Syntax.CreateInvoke method to create a new InvokeSyntax object.

  • Specify the name of the desired function's procedure in the InvokeName property of the created InvokeSyntax object.

  • Set the object’s IsProperty property to False.

  • Use the AddParameter method of the InvokeSyntax object to specify the parameter values for the routine call, if needed.

To get the actual script code corresponding to the resulting syntax object, process it with the Syntax.GenerateSource method.

The example below demonstrates how to generate code that calls the Delay routine:

JScript

function ShowCallStatement()
{
    var oCall = Syntax.CreateInvoke();
    oCall.InvokeName = "Delay";
    oCall.IsProperty = false;
    oCall.AddParameter(1000);

    var strCode = Syntax.GenerateSource(oCall);
    aqDlg.ShowMessage(strCode);
}

VBScript

Sub ShowCallStatement
    Dim oCall, strCode

    Set oCall = Syntax.CreateInvoke
    oCall.InvokeName = "Delay"
    oCall.IsProperty = False
    oCall.AddParameter 1000

    strCode = Syntax.GenerateSource(oCall)
    aqDlg.ShowMessage strCode
End Sub

The generated code is as follows:

JavaScript, JScript

Delay(1000);

Python

Delay(1000)

VBScript

Call Delay(1000)

DelphiScript

Delay(1000);

C++Script, C#Script

Delay(1000);

See Also

Generating Script Code
Generating Object Method Calls
InvokeSyntax Object
CreateInvoke Method

Highlight search results