Sample code for 30+ languages & platforms
Visual FoxPro Requires Chilkat v11.4.0+

Call a JavaScript Function Returning a Boolean

See more JavaScript Examples

Demonstrates how to call a JavaScript function that returns a boolean.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loSbScript
LOCAL loJs
LOCAL loResult
LOCAL loFuncCall
LOCAL lnRetval

lnSuccess = 0

*  This is the JavaScript function we'll call:

*  function isEven(number) {
*      return number % 2 === 0;
*  }

loSbScript = CreateObject('Chilkat.StringBuilder')
loSbScript.Append("function isEven(number) { return number % 2 === 0; }")

loJs = CreateObject('Chilkat.Js')

loResult = CreateObject('Chilkat.JsonObject')
loResult.EmitCompact = 0

*  Call Eval to add the function to the context's global object
lnSuccess = loJs.Eval(loSbScript,loResult)
IF (lnSuccess = 0) THEN
    *  Examine the result for an exception.
    ? loResult.Emit()

    *  Also examine the LastErrorText.
    ? loJs.LastErrorText
    RELEASE loSbScript
    RELEASE loJs
    RELEASE loResult
    CANCEL
ENDIF

*  ------------------------------------------------------------------------------
*  Call the function isEven(8)

loFuncCall = CreateObject('Chilkat.JsonObject')

*  Create JSON specifying the function name and arguments

*  {
*    "name": "isEven",
*    "args": [ 8 ]
*  }

loFuncCall.UpdateString("name","isEven")
loFuncCall.UpdateInt("args[0]",8)

lnSuccess = loJs.CallFunction(loFuncCall,loResult)
IF (lnSuccess = 0) THEN
    *  Examine the result for an exception.
    ? loResult.Emit()

    *  Also examine the LastErrorText.
    ? loJs.LastErrorText
    RELEASE loSbScript
    RELEASE loJs
    RELEASE loResult
    RELEASE loFuncCall
    CANCEL
ENDIF

? loResult.Emit()

*  Output:
*  {
*    "type": "bool",
*    "value": true
*  }

lnRetval = loResult.BoolOf("value")
? STR(lnRetval)

*  Output:
*  1

RELEASE loSbScript
RELEASE loJs
RELEASE loResult
RELEASE loFuncCall