Visual FoxPro
Visual FoxPro
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
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