HackCAD is end-user customizable!
By building scripting support into
your applications, you can provide a high degree of configurability,
flexibility and automation control in your applications.
- It allows modification of the application behaviour without needing to update the full application. Just sending a new small script file is sufficient.
- It allows you to create and debug scripts and forms at runtime in an Delphi-like Integrated Development Environment.
- End users can add totally new functionality to an application by binding application logic with COM servers through scripting.
- Different end user specific rules can be put in scripts allowing to maintain a single application for different uses
- And much more ...
Scripter supports pseudo-compiled scripts, making time critical script routines even faster.
Feature details
- Integrated Development Environment (IDE) allow creating script projects at runtime with multiple cross-language scripts (Basic and Pascal) and forms
- Visual form designer and Object inspector at runtime
- Integrated and automatic debugging system in the IDE, including breakpoints, watch viewer, trace into libraries, etc.
- Component palette in both Delphi 7 and Delphi 2007 styles
- Integrated syntax highlight memo with automatic code completion
- Delphi 2007-like filtering system in Tool Palette
- Helper dialogs in IDE like Alignment, Size, Designer options, among others
- Events allow saving/loading scripts and forms to/from database
- Run-time Pascal or Basic language interpreter
- Cross-language scripter component allows calls to Basic scripts from Pascal scripts and vice-versa
- Ability to load Delphi dfm forms and run them
- Access any Delphi object in scripts, including properties and methods!
- Supports try..except and try..finally blocks in script
- Allows reading/writing of Delphi variables and constants in script
- Allows access (reading/writing) script variables from Delphi code
- You can build (from Delphi code) your own classes, with properties and methods, to be used in script
- Most of Delphi system procedures (conversion, date, formatting, string-manipulation) are already included (IntToStr, FormatDateTime, Copy, Delete, etc.)
- You can add your own custom functions, using AddFunction method
- You can save/load compiled code, so you don't need to recompile source code every time you want to execute it
- Script libraries
- Thread-safe scripter engine
- COM support
- Support for calling DLL functions
- Debugging capabilities (breakpoint, step into, run to cursor, pause, halt ...)
Screenshots
Debugging a form script in the IDE
Using the filter in the Tool Palette
Code completion shows properties and components of the form
Debugging scripts from a FireMonkey application on macOS
Dynamic script generated form in a FireMonkey application
Demo overview
Following demos are provided for both the Pascal and Basic scripter:
IDEPro | Main demo which shows the full IDE Environment |
Adding methods and properties | Shows how Delphi object methods and properties are made available in scripter through a library |
ADO | Shows COM based access to ADO from scripter |
Case | Shows a case structure |
Case with expressions | Shows a complex case structure with expressions |
Class methods | Shows object creation and class method invoking |
DB Import library | Shows use of imported Delphi DB library |
Debugger | Shows the script debugger |
DynaForms | Shows dynamic form creation from script |
Excel | Shows COM based access to Excel from scripter |
MSWord | Shows COM based access to Word from scripter |
Outlook | Shows COM based access to Outlook from scripter |
Var parameters | Shows use of parameters by reference in scripter |
XMLDOM | Shows COM based access to XMLDOM from scripter |
Setting events from Delphi | Shows setting scripter based event handlers from Delphi code & event sequencing |
Custom events | Shows straightforward scripter based component event handling |
Event handling | Shows form event handling and initializing |
Event pushing | Shows event handling sequence manipulation |
Script-based libraries | Shows how to use libraries of script functions |
Threads | Shows threadsafe use of scripter engine |
WebScripter | Shows use of scripter to generate scripted generated web contents |