8 ivscriptengine::setscriptvar, Parameters, Return values – Teledyne LeCroy Automation API for Teledyne LeCroy PETracer_PETrainer User Manual
Page 131: Remarks, Example, Ipetrace* pe_trace, Ipeverificationscript* pe_vscript = null, Ivscriptengine::setscriptvar

Teledyne LeCroy
Automation API for PETracer/PETrainer
126
9.1.8 IVScriptEngine::SetScriptVar
HRESULT SetScriptVar ( [in] BSTR var_name, [in] VARIANT var_value )
This method allows you to set the value of some verification script global variable before/after executing the
script (refer to the PETracer Verification Script Engine Manual and the File Based Decoding Manual for
information on how a script can declare, set, and use global variables). Only integers, strings, or arrays of
VARIANTs are allowed as correct values. Arrays of VARIANTs is converted into list values inside of scripts. See
the PETracer File Based Decoding Manual for more details about list objects.
Parameters
var_name
String providing the name of the global variable used in the verification
script being run
var_value
VARIANT value containing the new variable value
Return values
E_PENDING
If this method is called when the script is already running
Remarks
This function may be very useful because it allows you to set internal script variables before running a
script, giving you the opportunity to make run-time customization from COM/Automation client applications.
In order for this operation to take effect during execution of the script, a global variable with the name
specified by var_name should be declared by the script.
Example
C++:
// In this example we use wrapper functions provided by #import directive
//
IPETrace* pe_trace;
. . .
IPEVerificationScript* pe_vscript = NULL;
pe_trace->QueryInterface( IID_IPEVerificationScript, (void**)&pe_vscript ) )
assert( pe_vscript != NULL );
IVScriptEngine* pe_vsengine = NULL;
pe_vsengine = pe_vscript -> GetVScriptEngine("Test_1");
assert( pe_vsengine != NULL );
VARIANT my_var;
VariantInit( &my_var );
my_var.vt = VT_I4; // Integer
my_var.lVal = 100;
// set internal script variable 'MyVar' to 100
pe_vsengine->SetScriptVar( _bstr_t("MyVar"), my_var );
VS_RESULT result = pe_vsengine ->
RunVScript
();
. . .