Sample code for 30+ languages & platforms
Xojo Plugin

JavaScript console using Callbacks

See more JavaScript Examples

Demonstrates console output using Chilkat JavaScript with callbacks.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Class MyJs
    Inherits Chilkat.Js

    Sub ProgressInfo(name As String, value As String)
        System.DebugLog(name + ": " + value)
    End Sub

End Class

Dim success As Boolean
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.
Dim sbScript As New Chilkat.StringBuilder
success = sbScript.LoadFile("qa_data/js_tests/test_console.js","utf-8")
If (success = False) Then
    System.DebugLog(sbScript.LastErrorText)
    Return
End If

Dim js As New MyJs
Dim result As New Chilkat.JsonObject

// 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,result)
If (success = False) Then
    System.DebugLog(sbScript.LastErrorText)
    Return
End If

// We can look at the result, which is "undefined", which is normal and expected.
System.DebugLog(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"}