Sample code for 30+ languages & platforms
Delphi DLL

JavaScript console

See more JavaScript Examples

Demonstrates console output using Chilkat JavaScript.

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Js, StringBuilder, JsonObject;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
sbScript: HCkStringBuilder;
js: HCkJs;
result: HCkJsonObject;
sbOut: HCkStringBuilder;

begin
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) then
  begin
    Memo1.Lines.Add(CkStringBuilder__lastErrorText(sbScript));
    Exit;
  end;

js := CkJs_Create();
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) then
  begin
    Memo1.Lines.Add(CkStringBuilder__lastErrorText(sbScript));
    Exit;
  end;

// We can look at the result, which is "undefined", which is normal and expected.
Memo1.Lines.Add(CkJsonObject__emit(result));
// The result JSON is: {"type":"undefined","value":"undefined"}

// The console output is retrieved by calling ConsoleOutputSb
sbOut := CkStringBuilder_Create();
CkJs_ConsoleOutputSb(js,sbOut);
Memo1.Lines.Add(CkStringBuilder__getAsString(sbOut));

CkStringBuilder_Dispose(sbScript);
CkJs_Dispose(js);
CkJsonObject_Dispose(result);
CkStringBuilder_Dispose(sbOut);

end;