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.

TMS Scripter


Feature details

  • Integrated Development Environment (IDE) allow creating script projects at runtime with multiple cross-language scripts (Basic and Pascal) and forms
  • Support for cross platform use: Win32, Win64, macOS, iOS and Android
  • 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
  • Separated components to build your own custom IDE
  • Delphi 2007-like filtering system in Tool Palette
  • Helper dialogs in IDE like Alignment, Size, Designer options, among others
  • Events in IDE components 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 ...)



Debugging a form script in the IDE

TMS Software Delphi VCL Components TMS Scripter

Using the filter in the Tool Palette

TMS Software Delphi VCL Components TMS Scripter

Code completion shows properties and components of the form

TMS Software Delphi VCL Components TMS Scripter


Debugging scripts from a FireMonkey application on macOS

TMS Software Delphi VCL Components TMS Scripter


Dynamic script generated form in a FireMonkey application

TMS Software Delphi VCL Components TMS Scripter


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