Sample code for 30+ languages & platforms
DataFlex

Eval JavaScript Returning String

See more JavaScript Examples

Demonstrates getting the completion value of a JavaScript that returns a string.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Variant vSbScript
    Handle hoSbScript
    Handle hoJs
    Variant vResult
    Handle hoResult
    String sTemp1

    Move False To iSuccess

    //  This example demonstrates getting the completion value of a script,
    //  where the last evaluated expression is a string.

    //  The Javascript run in this example is shown below.

    //  Load the JavaScript from a file.
    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbScript
    If (Not(IsComObjectCreated(hoSbScript))) Begin
        Send CreateComObject of hoSbScript
    End
    Get ComLoadFile Of hoSbScript "js_eval_return_string.js" "utf-8" To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoSbScript To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatJs)) To hoJs
    If (Not(IsComObjectCreated(hoJs))) Begin
        Send CreateComObject of hoJs
    End
    Get Create (RefClass(cComChilkatJsonObject)) To hoResult
    If (Not(IsComObjectCreated(hoResult))) Begin
        Send CreateComObject of hoResult
    End

    //  Run the JavaScript
    //  Eval returns the completion value of the script. This is generally the value of the last evaluated expression.
    //  In this case, the last evaluated expression is a string.
    Get pvComObject of hoSbScript to vSbScript
    Get pvComObject of hoResult to vResult
    Get ComEval Of hoJs vSbScript vResult To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoJs To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Set ComEmitCompact Of hoResult To False
    Get ComEmit Of hoResult To sTemp1
    Showln sTemp1

    //  Output:

    //  {
    //    "type": "string",
    //    "value": "Ready for Chilkat.Js"
    //  }


End_Procedure
JavaScript
var status = "Ready";
var system = "Chilkat.Js";

// The last statement is an expression
status + " for " + system;