![]() |
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
(C) JavaScript console using CallbacksSee more JavaScript ExamplesDemonstrates console output using Chilkat JavaScript with callbacks.Note: This example requires Chilkat v11.4.0 or greater.
#include <C_CkStringBuilder.h> #include <C_CkJs.h> #include <C_CkJsonObject.h> void js_ProgressInfo(const char *name, const char *value) { printf("%s: %s\n",name,value); } void ChilkatSample(void) { BOOL success; HCkStringBuilder sbScript; HCkJs js; void (*fnjsProgressInfo)(const char *name, const char *value) = js_ProgressInfo; HCkJsonObject result; success = FALSE; // This example demonstrates using the built-in console object. // The Javascript run in this example is shown below. // Load the JavaScript from a file. sbScript = CkStringBuilder_Create(); success = CkStringBuilder_LoadFile(sbScript,"qa_data/js_tests/test_console.js","utf-8"); if (success == FALSE) { printf("%s\n",CkStringBuilder_lastErrorText(sbScript)); CkStringBuilder_Dispose(sbScript); return; } js = CkJs_Create(); CkJs_setProgressInfo(js, fnjsProgressInfo); result = CkJsonObject_Create(); // Run the JavaScript // Results (not console output) go to result. // Note: 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 console.log which does not calculate a value. Therefore, it returns undefined. success = CkJs_Eval(js,sbScript,result); if (success == FALSE) { printf("%s\n",CkStringBuilder_lastErrorText(sbScript)); CkStringBuilder_Dispose(sbScript); CkJs_Dispose(js); CkJsonObject_Dispose(result); return; } // We can look at the result, which is "undefined", which is normal and expected. printf("%s\n",CkJsonObject_emit(result)); // The result JSON is: {"type":"undefined","value":"undefined"} // The console output is received using ProgressInfo callbacks. // The output is: // log: Hello World, 248, 12.05 // // error: foo:bar baz // // warn: 1 2 3 // // log: %% %s // // log: myApp: { // "appName": "Example", // "version": 1, // "isDebug": true, // "supportedTypes": [ // "string", // "number", // "object" // ], // "settings": { // "maxWidgets": 1024, // "allowIO": true // } // } // // log: App: myApp (Version 1) // // {"type":"undefined","value":"undefined"} CkStringBuilder_Dispose(sbScript); CkJs_Dispose(js); CkJsonObject_Dispose(result); }
|
||||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.