Objects Events Listing
Pop-Up Object properties and methods list
IntelliSense – like function parameters tooltips
I’ve been searching the net for a suitable and affordable solution that will allow me to embed scripting functionality in my C++ application. What I found was either not sufficient or cost a lot of money.
So I’ve decided to make one of my own. After about a month of work and testing I’ve come up with this embeddable scripter.
I made it a separate DLL , which is really easy to use.
- Download the source code, and compile it. Make sure to compile the correct version (Debug\Release) or both.
- Include ScriptEditor.h in your project and add the library ScriptEditor.lib to your additional libraries. Make sure to reference the correct version! Debug version for debugging and release version for release!
- Copy the DLL to the same folder as your executable.
- In your code create an instance of
CScripterand initialize it.
- Add your objects to the script and optionally the script text.
In the header of your main application window add:
Add member variable:
Then when initializing add:
After that add your objects to the script:
scripter.AddObject("MPlayer",(IDispatch *)m_mediaPlayer.GetControlUnknown()); scripter.AddObject("PlayButton", (IDispatch *)m_commandButton.GetControlUnknown()); scripter.AddObject("TabStrip",(IDispatch *)m_tabStrip.GetControlUnknown()); scripter.AddObject("SimpleObject",m_simpleObject.GetIDispatch(TRUE));
And optionally set the script text:
scripter.scriptText = "MsgBox \"Test message\"";
After that the script is ready to run, you now may do one of the following:
// Run the script scripter.StartScript(); // Stop the script execution scripter.StopScript(); // Open the script editor window scripter.LaunchEditor(); // Reset the script (All added objects are removed and engine is recreated) scripter.Reset();