![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) Call a JavaScript Function Returning an ObjectSee more JavaScript ExamplesDemonstrates how to call a JavaScript function that returns an object.Note: This example requires Chilkat v11.4.0 or greater.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Variant vSbScript Handle hoSbScript Handle hoJs Variant vResult Handle hoResult Variant vFuncCall Handle hoFuncCall String sTemp1 Integer iTemp1 Boolean bTemp1 Move False To iSuccess // This is the JavaScript function we'll call: // function getSettings() { // return { // theme: "dark", // notifications: true, // version: 1.0 // }; // } Get Create (RefClass(cComChilkatStringBuilder)) To hoSbScript If (Not(IsComObjectCreated(hoSbScript))) Begin Send CreateComObject of hoSbScript End Get ComAppend Of hoSbScript "function getSettings() {" To iSuccess Get ComAppend Of hoSbScript " return {" To iSuccess Get ComAppend Of hoSbScript ' theme: "dark",' To iSuccess Get ComAppend Of hoSbScript " notifications: true," To iSuccess Get ComAppend Of hoSbScript " version: 1.0" To iSuccess Get ComAppend Of hoSbScript " };" To iSuccess Get ComAppend Of hoSbScript "}" To iSuccess 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 Set ComEmitCompact Of hoResult To False // Call Eval to add the function to the context's global object Get pvComObject of hoSbScript to vSbScript Get pvComObject of hoResult to vResult Get ComEval Of hoJs vSbScript vResult To iSuccess If (iSuccess = False) Begin // Examine the result for an exception. Get ComEmit Of hoResult To sTemp1 Showln sTemp1 // Also examine the LastErrorText. Get ComLastErrorText Of hoJs To sTemp1 Showln sTemp1 Procedure_Return End // ------------------------------------------------------------------------------ // Call the function getSettings() Get Create (RefClass(cComChilkatJsonObject)) To hoFuncCall If (Not(IsComObjectCreated(hoFuncCall))) Begin Send CreateComObject of hoFuncCall End // Create JSON specifying the function name and arguments // The function has no arguments, so we only specify the name. // { // "name": "getSettings", // } Get ComUpdateString Of hoFuncCall "name" "getSettings" To iSuccess Get pvComObject of hoFuncCall to vFuncCall Get pvComObject of hoResult to vResult Get ComCallFunction Of hoJs vFuncCall vResult To iSuccess If (iSuccess = False) Begin // Examine the result for an exception. Get ComEmit Of hoResult To sTemp1 Showln sTemp1 // Also examine the LastErrorText. Get ComLastErrorText Of hoJs To sTemp1 Showln sTemp1 Procedure_Return End Get ComEmit Of hoResult To sTemp1 Showln sTemp1 // Output: // { // "type": "object", // "value": { // "theme": "dark", // "notifications": true, // "version": 1 // } // } // Examine the object's members Get ComStringOf Of hoResult "value.theme" To sTemp1 Showln "theme: " sTemp1 Get ComBoolOf Of hoResult "value.notifications" To bTemp1 Showln "notifications: " bTemp1 Get ComIntOf Of hoResult "value.version" To iTemp1 Showln "version: " iTemp1 // Output: // theme: dark // notifications: True // version: 1 End_Procedure |
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.