Platforms to show: All Mac Windows Linux Cross-Platform
/MacFrameworks/JavaScript/JavaScript with native function
Required plugins for this example: MBS MacFrameworks Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /MacFrameworks/JavaScript/JavaScript with native function
This example is the version from Sat, 6th Nov 2015.
Project "JavaScript with native function.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Delete"
Const kFileQuit = "&Quit"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
EventHandler Sub Open()
dim c as new MyJSContextMBS
// create a function
dim name as string = "test"
dim e as JSValueMBS
dim v as JSValueMBS = c.NewFunction(name) // calls event later
// put it in global memory
c.globalObject.SetProperty "test", v, e
// and call it
dim r as JSValueMBS = c.EvaluateScript("test('Hello')", "", nil, e)
MsgBox r.StringValue
End EventHandler
End Class
MenuBar MainMenuBar
MenuItem FileMenu = "&File"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem EditSeparator1 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "#App.kEditClear"
MenuItem EditSeparator2 = "-"
MenuItem EditSelectAll = "Select &All"
End MenuBar
Class MyJSContextMBS Inherits JSContextMBS
EventHandler Function FunctionCalled(functionObject as JSObjectMBS, thisObject as JSObjectMBS, arguments() as JSValueMBS, byref JSException as JSValueMBS) As JSValueMBS
dim a as JSValueMBS = arguments(0)
MsgBox a.StringValue
Break
Return self.valueWithString("ok")
End EventHandler
End Class
End Project
See also:
The items on this page are in the following plugins: MBS MacFrameworks Plugin.