compile insert rti_AXSH_Equates /* ** Copyright (C) 1992-2019 Revelation Software Inc. All Rights Reserved ** Author : Captain C Date : March 2017 Purpose : Constants for use with the ActiveX Scripting Host function in : RevAXSH.dll Comments ======== Amended Date Reason ======= ==== ====== Mr C 14 Mar 19 Documentation update Mr C 30 Mar 17 Documentation update Mr C 29 Mar 17 Added RevEx and AddObject methods */ /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// #ifndef _RTI_AXSH_EQUATES_ #define _RTI_AXSH_EQUATES_ /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// declare function rti_AXSH /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // Return error codes equ REVAXSH_SUCCESS$ to 0 equ REVAXSH_ERR_BAD_METHOD$ to -1; equ REVJSON_ERR_NULL_RET_AXSH$ to -2; equ REVAXSH_ERR_NO_LANG$ to -3; equ REVAXSH_ERR_SCRIPT_INIT$ to -4; equ REVAXSH_ERR_SET_SITE$ to -5; equ REVAXSH_ERR_GET_PARSER$ to -6; equ REVAXSH_ERR_PARSER_INIT$ to -7; equ REVAXSH_ERR_NULL_HANDLE$ to -8; equ REVAXSH_ERR_BAD_HANDLE$ to -9; equ REVAXSH_ERR_NULL_SIZE$ to -10; equ REVAXSH_ERR_NULL_BUFFER$ to -11; equ REVAXSH_ERR_BUFFER_SIZE$ to -12; equ REVAXSH_ERR_BUFFER_TOO_SMALL$ to -13; equ REVAXSH_ERR_BAD_PROP_NAME$ to -14; equ REVAXSH_ERR_NULL_RET_SIZE$ to -15; equ REVAXSH_ERR_NULL_STATEMENT$ to -16; equ REVAXSH_ERR_EVAL$ to -17; equ REVAXSH_ERR_CATINFO$ to -18; equ REVAXSH_ERR_IDISPATCH$ to -19; equ REVAXSH_ERR_BAD_SCRIPT_MTD$ to -20; equ REVAXSH_ERR_OUT_OF_MEM$ to -21; equ REVAXSH_ERR_NULL_OBJ_NAME$ to -22; equ REVAXSH_ERR_NULL_OBJ_IDISP$ to -23; equ REVAXSH_ERR_STDEXCEPTION$ to -99; /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // Method IDs equ REVAXSH_MTD_CREATE$ to 1; equ REVAXSH_MTD_DESTROY$ to 2; equ REVAXSH_MTD_GETPROP$ to 3; equ REVAXSH_MTD_SETPROP$ to 4; equ REVAXSH_MTD_ADDCODE$ to 5; equ REVAXSH_MTD_EVAL$ to 6; equ REVAXSH_MTD_EXECUTE$ to 7; equ REVAXSH_MTD_RUN$ to 8; equ REVAXSH_MTD_GETENGINES$ to 9; equ REVAXSH_MTD_ADDOBJECT$ to 10; equ REVAXSH_MTD_RUNEX$ to 11; equ REVAXSH_MTD_GETRETVAL$ to 99; /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // REVAXSH_MTD_CREATE$ // // Creates an ActiveX scripting host instance and returns it's handle. // // The instance is initialised with the following information: // // <1> Script Language (required) // <2> AllowUI (1/0) // <3> hwndSite // <4> Timeout in milliseconds (-1 == no Timeout, otherwise > 0) // // e.g. // // createParam = "jScript" : @fm : TRUE$ : @fm : @@window->handle // hAXSH = rti_AXSH( REVAXSH_MTD_CREATE$, createParam ) // // ---------------------------------------------------------------------------- // [i] createParam : an @fm delimited dynamic array as specified [required] // : above. // ---------------------------------------------------------------------------- // [r] The handle of the new AXSH instance of successful, otherwise "0". // ---------------------------------------------------------------------------- // [e] All errors are returned via Set_Status() // ---------------------------------------------------------------------------- // CreateParam constants equ REVAXSH_CREATE_POS_LANGUAGE$ to 1 equ REVAXSH_CREATE_POS_ALLOWUI$ to 2 equ REVAXSH_CREATE_POS_HWNDSITE$ to 3 equ REVAXSH_CREATE_POS_TIMEOUT$ to 4 /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // REVAXSH_MTD_DESTROY$ // // Destroys a script host instance. // // call rti_AXSH( REVAXSH_MTD_DESTROY$, hAXSH ) // // ---------------------------------------------------------------------------- // [i] hAXSH : Handle of the scripting host to destroy [required] // ---------------------------------------------------------------------------- // [e] All errors are returned via Set_Status() // ---------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // REVAXSH_MTD_GETPROP$ // // Returns the value of a specified property // // e.g. // // propName = REVAXSH_PROP_LANGAUGE$ // language = rti_AXSH( REVAXSH_MTD_GETPROP$, hAXSH, propName ) // // ---------------------------------------------------------------------------- // [i] hAXSH : Handle of the scripting host to access [required] // [i] propName : Name of the property to access [required] // ---------------------------------------------------------------------------- // [r] The property value // ---------------------------------------------------------------------------- // [e] All errors are returned via Set_Status() // ---------------------------------------------------------------------------- // Supported properties: equ REVAXSH_PROP_LANGAUGE$ to "Language" // Get equ REXAXSH_PROP_ALLOWUI$ to "AllowUI" // Get/Set equ REXAXSH_PROP_SITEHWND$ to "SiteHwnd" // Get/Set equ REXAXSH_PROP_TIMEOUT$ to "Timeout" // Get/Set /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // REVAXSH_MTD_SETPROP$ // // Sets the value of a specified property // // e.g. // // propName = REVAXSH_PROP_ALLOWUI$ // propValue = FALSE$ // call rti_AXSH( REVAXSH_MTD_SETPROP$, hAXSH, propName, propValue ) // // ---------------------------------------------------------------------------- // [i] hAXSH : Handle of the scripting host to access [required] // [i] propName : Name of the property to access [required] // [i] propValue : New property value to set. // ---------------------------------------------------------------------------- // [r] N/a // ---------------------------------------------------------------------------- // [e] All errors are returned via Set_Status() // ---------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // REVAXSH_MTD_ADDOBJECT$ // // Adds a global named object to the scripting host // // e.g. // // objName = "MyXmlDoc" // objDoc = OleCreateInstance( "Msxml2.DOMDocument" ) // call rti_AXSH( REVAXSH_MTD_ADDOBJECT$, hAXSH, objName, objDoc ) // // ---------------------------------------------------------------------------- // [i] hAXSH : Handle of the scripting host to access [required] // [i] objName : "Script name" of the object being added [required] // [i] oleVar : OLE object being added [required] // ---------------------------------------------------------------------------- // [r] N/a // ---------------------------------------------------------------------------- // [e] All errors are returned via Set_Status(). See below for notes on // scripting errors // ---------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // REVAXSH_MTD_ADDCODE$ // // Adds a block of code to the scripting host (Any immediate code will be // executed as normal) // // e.g. // // scriptCode = "function add( a, b ) { return a + b; }" // call rti_AXSH( REVAXSH_MTD_ADDCODE$, hAXSH, scriptCode ) // // ---------------------------------------------------------------------------- // [i] hAXSH : Handle of the scripting host to access [required] // [i] scriptCode : Code to add. [required] // ---------------------------------------------------------------------------- // [r] N/a // ---------------------------------------------------------------------------- // [e] All errors are returned via Set_Status(). See below for notes on // scripting errors // ---------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // REVAXSH_MTD_EVAL$ // // Evaluates a statement and returns the result. // // e.g. // // statement = "3+10;" // retVal = rti_AXSH( REVAXSH_MTD_EVAL$, hAXSH, statement ) // // ---------------------------------------------------------------------------- // [i] hAXSH : Handle of the scripting host to access [required] // [i] statement : Code to evaluate. [required] // ---------------------------------------------------------------------------- // [r] The result of the evaluation. // ---------------------------------------------------------------------------- // [e] All errors are returned via Set_Status(). See below for notes on // scripting errors // ---------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // REVAXSH_MTD_EXECUTE$ // // Executes one or more statements (no result is returned) // // e.g. // // scriptCode = "function add10( a, b ) { return a + 10; }; add10( 3 );" // call rti_AXSH( REVAXSH_MTD_EXECUTE$, hAXSH, scriptCode ) // // ---------------------------------------------------------------------------- // [i] hAXSH : Handle of the scripting host to access [required] // [i] statement : Code to execute. [required] // ---------------------------------------------------------------------------- // [r] N/a // ---------------------------------------------------------------------------- // [e] All errors are returned via Set_Status(). See below for notes on // scripting errors // ---------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // REVAXSH_MTD_RUN$ // // Executes a specific script function and returns the result (if any). // // e.g. // // scriptCode = "function add( a, b ) { return a + b; }" // call rti_AXSH( REVAXSH_MTD_ADDCODE$, hAXSH, scriptCode ) // // method = "add" // args = 3 : @rm : 4 // retVal = rti_AXSH( REVAXSH_MTD_RUN$, hAXSH, method, args ) // // ---------------------------------------------------------------------------- // [i] hAXSH : Handle of the scripting host to access [required] // [i] method : name of the function to execute [required] // [i] args : @rm'd list of arguments to pass to the function. // ---------------------------------------------------------------------------- // [r] Return value from the function (if any) // ---------------------------------------------------------------------------- // [e] All errors are returned via Set_Status(). See below for notes on // scripting errors // ---------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // REVAXSH_MTD_RUNEX$ // // Executes a specific script function and returns the result (if any), allowing // the script function parameters to be passed as separate arguments (This // method is the only method that can pass OLE objects to a script function) // // The maximum number of parameters that can be passed is 10. Note that this // method stops looking for script function arguments when it encounters the // first unassigned one. // // e.g. // // scriptCode = "function add( a, b ) { return a + b; }" // call rti_AXSH( REVAXSH_MTD_ADDCODE$, hAXSH, scriptCode ) // // method = "add" // arg1 = 3 // arg2 = 4 // retVal = rti_AXSH( REVAXSH_MTD_RUN$, hAXSH, method, arg1, arg2 ) // // ---------------------------------------------------------------------------- // [i] hAXSH : Handle of the scripting host to access [required] // [i] method : name of the function to execute [required] // [i] arg1 : First parameter to pass to the function // [i] arg2 : Second parameter to pass to the function // | | // v v // [i] arg10 : Tenth parameter to pass to the function // ---------------------------------------------------------------------------- // [r] Return value from the function (if any) // ---------------------------------------------------------------------------- // [e] All errors are returned via Set_Status(). See below for notes on // scripting errors // ---------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // REVAXSH_MTD_GETENGINES$ // // Returns a list of ActiveX script engines installed on the workstation. // // e.g. // // engineList = rti_AXSH( REVAXSH_MTD_GETENGINES$ ) // // ---------------------------------------------------------------------------- // [r] An @fm delimited list of installed engines. // ---------------------------------------------------------------------------- // [e] All errors are returned via Set_Status(). See below for notes on // scripting errors // ---------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // Scripting errors // // The Execute, AddCode, Eval and Run methods can all return parsing and // execution errors from the scripting engine. In this case an @svm delimited // list of error information is returned with the following structure: // // <0,0,1> Error Source // <0,0,2> Error Description // <0,0,3> LineText // <0,0,4> LineNumber // <0,0,5> CharPos // <0,0,6> ContextID equ REVAXSH_SERR_POS_SOURCE$ to 1 equ REVAXSH_SERR_POS_DESC$ to 2 equ REVAXSH_SERR_POS_LINETEXT$ to 3 equ REVAXSH_SERR_POS_LINENUM$ to 4 equ REVAXSH_SERR_POS_CHARPOS$ to 5 equ REVAXSH_SERR_POS_CONTEXTID$ to 6 /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// #endif /////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////