![]() |
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
(Delphi ActiveX) JavaScript console using CallbacksSee more JavaScript ExamplesDemonstrates console output using Chilkat JavaScript with callbacks.Note: This example requires Chilkat v11.4.0 or greater.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.jsProgressInfo(ASender: TObject; const name: WideString; const value: WideString); begin // TThread.Synchronize provides safety for callbacks that occur in a background thread.. TThread.Synchronize(nil, procedure begin Memo1.Lines.Add(name + ': ' + value); end); end; procedure TForm1.Button1Click(Sender: TObject); var success: Integer; sbScript: TChilkatStringBuilder; js: TChilkatJs; result: TChilkatJsonObject; begin success := 0; // 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 := TChilkatStringBuilder.Create(Self); success := sbScript.LoadFile('qa_data/js_tests/test_console.js','utf-8'); if (success = 0) then begin Memo1.Lines.Add(sbScript.LastErrorText); Exit; end; js := TChilkatJs.Create(Self); js.OnProgressInfo := jsProgressInfo; result := TChilkatJsonObject.Create(Self); // 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 := js.Eval(sbScript.ControlInterface,result.ControlInterface); if (success = 0) then begin Memo1.Lines.Add(sbScript.LastErrorText); Exit; end; // We can look at the result, which is "undefined", which is normal and expected. Memo1.Lines.Add(result.Emit()); // 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"} end;
|
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.