TMS Scripter

Add the ultimate flexibility and power into your applications with native Pascal or Basic scripting and full IDE (Integrated Development Environment) with visual form designer, object inspector, and more.

Version History



  • Improved : When opening projects, it was trying to load settings from local files even when scripts were supposed to be loaded from database. Ticket #19756.
  • Fixed : Refactor.AddUsedUnit was not including the uses clause when the script was not a {$FORM} or {$CLASS} script. Ticket #19477.
  • Fixed : Parser failing to recognize some identifiers in Czech language. Ticket #19776.
  • Fixed : Content of DefaultProperty was not being propagated to descendant classes.


  • Improved : Syntax highlight memo updated with bug fixes and improvements.
  • Fixed : ap_RichEdit was not compiling in Delphi 11.


  • New : TSourceExplorer.UpdateInterval property allows defining the update time for source explorer after source is modified.
  • Fixed : Workaround Delphi Access Violation issue when using TMS Scripter IDE from a dll.
  • Fixed : Enter key not working in TIDEMemo when Default property of a button in script form was set to true.


  • New : Scripter IDE autocompletes a begin..end block with the end keyword after begin is typed.
  • New : Delphi 11 / Rad Studio 11 support.
  • Fixed : Sporadic "List index out of bounds" error when closing TMS Scripter IDE.
  • Fixed : Pascal syntax was accepting ifproc as a valid if statements (without space after the if).
  • Fixed : Access Violation when reopening the IDE in Win64 platform.
  • Fixed : AV when setting IDEEngine.AutoStyler to False, setting the custom syntax styler directly in the TIDEMemo component.


  • Improved : Better block highlight (begin..end) in syntax memo.
  • Fixed : TSourceExplorer and TatMemoInterface not working, depending on the order used to set the source code of the memo (regression).


  • Fixed : Access Violation when using code completion and parameter insight in some places of the code (regression).
  • Fixed : Access Violation after closing and reopening a project in Scripter IDE (regression).


  • Improved : Updated syntax highlighting memo.
  • Improved : Text selection in code editor is now preserved when switching between project files in Scripter IDE.
  • Improved : Round and Trunc methods now return Int64 values.
  • Improved : Random function now accepts the parameter for the range.
  • Fixed : WideChar values could not be passed as parameter to scripter functions via ExecuteSubRoutine.
  • Fixed : Undo problems in multiple files. The undo stack for one file in project was being mixed with other files. See support request.
  • Fixed : Rare Access Violation when filtering components in the component palette and the name of filtered component was not entirely visible.
  • Fixed : Paste into code editor from clipboard was inserting text in wrong position after switching between project files in Scripter IDE. See support request.
  • Fixed : Fixed behavior of some Int64 functions from imported libraries, which were only handling Integer (32-bit) values. Functions affected: TReader.ReadInt64 (ap_Classes), StrToInt64, StrToInt64Def, TryStrToInt64 (ap_SysUtils), SetInt64Prop, GetInt64Prop (ap_TypInfo), TRttiInt64Type.MinValue, TRttiInt64Type.MasValue (ap_Rtti).


  • Fixed : Sporadic error with ARM 64 compilers (iOSDevice64 and Android64).


  • New : Support for RAD Studio 10.4 Sydney.
  • Improved : Latest TAdvMemo features applied to TScrMemo/TIDEMemo.
  • Fixed : Closing a modified filed in IDE without saving would keep using the modified content when running the project.


  • Fixed : Syntax memo updated to mirror TAdvMemo latest features and fixes. Copy/paste issue (pasting text in wrong position) is one of them.
  • Fixed : Automatic event handler creating in the source code (upon double-clicking object inspector or the component) was creating the procedure signature with wrong parameters for the event.


  • Improved : Project group file updated with all TMS Scripter sample projects..
  • Fixed : Length function returns wrong value for variant arrays.
  • Fixed : GetInputArgAsString returning error if an uninitialized script variable were passed to the method/procedure.
  • Fixed : Comments right after a number constant is not allowed but was not raising a compilation error. Now it is. Example: const A = 3.14//comment


  • New : Support for Android 64-bit platform (Delphi 10.3.3 Rio).
  • Improved : Copy function now accepts two parameters (third paramater, the character count, is optional, just like in Delphi).
  • Fixed : Error when using form scripts in macOS 64 (function GetInfoFromRoutineName).


  • New : macOS 64 bit platform support (Delphi Rio 10.3.2)
  • Improved : TatVirtualMachine.GetInputArgAsUInt64 method to retrieve parameters as UInt64.
  • Improved : Declaring UInt64 literal constants is now supported.
  • Fixed : syntax now accepts statements ending with multiple semi-colon.
  • Fixed : const section declared after var section was causing syntax error.
  • Fixed : Syntax error when using method without result values (procedures) with name starting with "Try".
  • Fixed : Sporadic Access Violation when expanding properties with subproperties (like Font, for example).
  • Fixed : Argument out of range when running scripter on iOS/Mac OS using Dutch language.


  • Improved : Syntax memo updates.
  • Improved : Object inspector is now fully updated when a property changes. This fixes an issue when a property changes the type of another property (for example, TPersistent with different subproperties)


  • New : Support for Delphi/C++Builder 10.3 Rio.
  • Fixed : Could not change value of "Name" property when using TIDEInspector component in a custom IDE.


  • New : TDBGrid context popup menu with option "Add all fields" in scripter IDE. Allows creating columns from the fields of the associated dataset.
  • Fixed : Range check error when reading/setting RootKey property of TRegistry objects
  • Fixed : Passing WideString parameter as reference to dll functions was not properly working.
  • Fixed : Error when accessing properties/methods of script-based objects that return another script-based object. For example, suppose a script-based class TMyClass that has a property/method returning another object of type TMyClass. Access properties of that second object would cause errors.
  • Fixed : Access Violation when invoking code completion from uses classes and a few other parts of the code.


  • New : Array declaration automatically initializes variable array. You can now declare variables with type "array[0..10]" and the variable will be automatically initialized as a variant array.
  • Improved : Length function now works for arrays in addition to strings.
  • Fixed : AV when accessing indexed default properties registered with RTTI and accessed via variable reference (e.g., LocalVar[Index] := Value;).


  • Improved : Trial and registered installers now offers option to install to Linux platform
  • Fixed : Copy/Paste operation in form designer was losing event handlers of pasted child controls.


  • Improved : Compilation is now significantly faster in some situations, especially with big scripts.


  • New : Linux support for the core scripter engine.
  • Improved : Scripter IDE (TIDEDialog) modernized with new icons, modern color theme and flat style.
  • Improved : Better performance when debugging using component TatScriptDebug.
  • Fixed : copy/paste a TListBox with Visible property set to False would cause an Access Violation.
  • Fixed : Executing TIDEDialog was causing a "property does not exist" error in Delphi 7 (regression).


  • Improved : Code completion now shows types of properties, variables and method/function results, when available.
  • Improved : Code completion has better retrieval of local variables and parameters.
  • Fixed : Sporadic Access Violation when using TSourceExplorer component.
  • Fixed : Rare AV when trying to use code completion in a part of the code that is inside a case statement.
  • Fixed : Rare "out of memory" error when displaying parameter hints (code insight)
  • Fixed : DelphiFormEditing demo: double clicking a control would turn object inspector blank.
  • Fixed : Argument out of range when adding code completion list for identifier "fo".
  • Fixed : "Cannot focus control" error message when creating new unit in TIDEEngine and form is not yet visible.


  • Fixed : TObject methods being declared as regular functions/procedures when using DefineClassByRTTI using redefine as overwrite.
  • Fixed : Memory leak in some situations when using dll calls in a script-based library.
  • Fixed : Invalid type cast when reading set properties of classes declared with DefineClassByRTTI.
  • Fixed : "Invalid class type" when passing a TClass parameter to a method that was registered using DefineClassByRTTI.


  • New : RAD Studio 10.2 Tokyo Support


  • Fixed : Wrong behavior when accessing default indexed properties of objects declared as global variables in a script library
  • Fixed : Access Violation when unsetting events for components that have been already destroyed.


  • Fixed : Library browser not showing types of properties and method parameters when they were added using new RTTI
  • Fixed : Invalid class type cast when registering controls with properties of type TBehaviorBoolean
  • Fixed : Invalid Type Cast when setting a boolean property defined with RTTI from an expression
  • Fixed : Import tool failing when parsing types which name starts with "string"
  • Fixed : IF statements in Basic syntax were not accepting "END IF" at the end of statement if it was in the same line
  • Fixed : Format function not working correctly on next gen compiler
  • Fixed : Comparing object values in mobile compiler was causing invalid type cast error
  • Fixed : AV when destroying a control with an event handler set from scripter, in Mac OS X


  • New : Support for record methods when using DefineRecordByRTTI
  • Improved : While debugging it's now possible to see source code of units that are not the active unit
  • Improved : Significant performance increase when modifying arrays
  • Improved : Library browser now displays property types.
  • Improved : Code completion not showing up in some situations when script contained declared routines
  • Fixed : TatScriptDebugger component was removing OnSingleDebugHook event from scripter component after executing the dialog
  • Fixed : Boolean value comparison failing in some situations when invoking methods defined by new RTTI


  • New : TatScripter.AutoLoadClassUsingRTTI property uses complete RTTI to automatic loading of classes when TatScript.DeferObjectResolution is True
  • Fixed : Typing dot (.) in scripter memo in some situations was not opening the code completion window
  • Fixed : TatScripter.OnRunningChange event not being called while scripter IDE was open
  • Fixed : Design Options Dialog not showing selected colors when VCL style/theme is enabled


  • New : Support for Delphi/C++Builder 10.1 Berlin
  • Fixed : "List Index Out Of Bounds" error when acessing default properties


  • New : TIDEEngine.OnConfirmSaveFile gives more control over the confirmation message "Save Changes?" when file was modified.
  • Fixed : code completion not working for methods with string parameters - like FieldByName('Field')


  • New : Library Browser dialog provides to your end-user a full reference of available classes, methods, functions, constants, etc. available to be used in scripts.
  • Improved : Added *.png in the default filter for the picture editor in IDE designer
  • Fixed : TatScripter component disabled in component palette when targeting Android/iOS/Mac platforms
  • Fixed : Sporadic AV when using IDE and launching several non-modal script forms multiple times
  • Fixed : Parameter hints in IDE not showing when the parameter contains a string literal
  • Fixed : Event handlers receiving Int64 parameters were not working properly.
  • Fixed : Error when accessing components in a script form in mobile applications
  • Fixed : Closing the IDE with modified files and then canceling closing upon confirmation dialog was turning some IDE icons into disabled state


  • New : iOS and Android support - TMS Scripter is now fully cross-platform supporting all supported Delphi platforms
  • Improved : Code completion optimized for better speed
  • Fixed : memory leak in FindFirst, FindClose and FindNext methods
  • Fixed : Wrong result values when calling dll functions that return Int64 values on Windows 32
  • Fixed : Import tool not reparsing some files that were previously parsed with errors
  • Fixed : DefineClassByRTTI was assigning a wrong property as the default indexed property of the class


  • New : RAD Studio 10 Seattle support


  • Fixed : TFormDesigner.OnCreateComponentClass event type signature changed to work around issue in C++


  • New : TatCustomScripter.RemoveProperty method
  • New : TAdvFormDesigner.OnCreateComponentClass event provides an opportunity to manually create an instance of a component needed by the designer
  • New : Support for set properties when registering classes using new RTTI (DefineClassByRTTI)
  • New : LastExceptionLine and LastExceptionCol functions available from script
  • Improved : Import tool updated with XE8 support
  • Fixed : published properties of type Int64 were not being automatically registered when registering a class
  • Fixed : "True" and "False" constants had wrong types (integer instead of boolean) in Variant types (regression)


  • New : TCustomFormDesigner.GridStepPixel property sets the number of pixels to move/resize controls when using Ctrl+Arrow keys
  • New : Support for Delphi XE8 & C++Builder XE8
  • New : LastExceptionLine and LastExceptionCol properties provide info about the source code position where last exception was raised.
  • Fixed : Sporadic "Index out of bounds" when executing compiled code previously saved
  • Fixed : Scripter IDE wrongly considering source was changed even though it was not modified
  • Fixed : Application hanging when registering some specific classes/components using RTTI


  • New : Packages structure changed. Now it allows using runtime packages with 64-bit applications. It's a breaking change.
  • Improved : TScrMemo replaces TAdvMemo as the syntax memo class. It's a breaking change
  • Improved : TIDEPaletteToolbar.UpdatePalette now virtual
  • Improved : TIDEEngine.PrepareXXXXDialog methods (Save/Load/SaveProject/Loadproject) made virtual protected
  • Improved : DefineClassByRTTI sets default indexed property automatically
  • Improved : A breaking change was added for Delphi XE and lower, requiring you to add Vcl.ScriptInit unit to your project.
  • Fixed : TatMethod and TatProperty assign now properly assign event properties
  • Fixed : Setting indexed elements of array parameters passed by reference were not changing the array in Basic language
  • Fixed : Pascal syntax now accepts spaces before and after dot for accessing object members (.)
  • Fixed : Method calls in with clauses had lower precedence than global properties.
  • Fixed : Memory leak when copying components in form designer
  • Fixed : Margins were incorrect with anchored controls in forms using bsSingle border style
  • Fixed : Import tool generating importing code that might fail in 64-bit applications
  • Fixed : Format function giving wrong results when formatting multiple string values
  • Fixed : Assigned function could fail in 64-bit applications
  • Fixed : "Cannot Focus Disable Windows" error message when right-clicking some third-party components in form designer


  • New : TIDEEngine.ProjectExt property allows specifying a project extension name different than '.ssproj'
  • New : Rad Studio XE7 support
  • Fixed : import tool incorrectly creating event adapter for events that returned a value (functions)
  • Fixed : Syntax memo incorrectly displaying commented code
  • Fixed : Setting default indexed properties for untyped variable objects
  • Fixed : Ord function not working for non-string values.
  • Fixed : OnSingleDebugHook event not being fired in TIDEScripter component
  • Fixed : AV when accessing default indexed properties with more than one index


  • New : Support for Delphi XE6 & C++Builder XE6 added
  • New : LibInstance property in TatClass, TatMethod, TatProperty classes indicates the library which registered them
  • Improved : Deprecated methods: TatCustomScripter.AddClass, TatClasses.Add, TatClasses.AddDelphiClass. All must be replaced by DefineClass method
  • Fixed : Some unicode characters being displayed incorrectly in object inspector
  • Fixed : Setting object properties failing in some situations in 64-bit applications
  • Fixed : Rare Access Violation when closing all forms in scripter IDE
  • Fixed : Insufficient RTTI Information when trying to import indexed TBytes property. Now the property is ignored (Delphi limitation)
  • Fixed : Icon for non-visual components in form designer were not being affected by OnGetComponentImage event
  • Fixed : Error when forcing varLongWord variants to integer values
  • Fixed : Controls not being displayed in some situations, after loading a project, when controls had their Visible property set to false
  • Fixed : AV violation while destroying TIDEEngine in some rare situations
  • Fixed : "SSImport_Icon not found" error when compiling ImportTool project in some Delphi versions
  • Fixed : "Canvas does not allow drawing" error when using form designer in an styled VCL application


  • New : Automatic registration via RTTI now supports indexed properties (Delphi XE2 and up)
  • Improved : New TPaletteButton.ToolClass property allows checking what is the component class associated with a palette button
  • Improved : Code completion for local variables
  • Fixed : Setting ScriptFormClass property had no effect when creating forms from script
  • Fixed : Losing event handlers when renaming a component which name is contained by another component's name
  • Fixed : Issue with component palette icons when compiling to 64-bit
  • Fixed : Error when calling methods such as Outer.InnerClass.HelloWorld and both Outer and InnerClass return script-based classes
  • Fixed : Copy/paste operations were not copying event handlers properly
  • Fixed : Access Violation when using code completion in some situations
  • Fixed : Access Violation when reading record properties declared using RTTI


  • New : TIDEDialog.Show method now allows IDE to be displayed as non-modal
  • New : RAD Studio XE5 support
  • Fixed : Small glitch when selecting controls in form designer with fast mouse movement
  • Fixed : Pascal single-line comments (starting with "//") not working on Mac.
  • Fixed : MDI child script forms being displayed twice
  • Fixed : Issue with DebugStepOverLine and DebugUntilReturn methods when scripter is running in threads
  • Fixed : Error when trying to pass EmptyParam to OLE servers
  • Fixed : Custom glyph grab handles not being displayed on graphical controls
  • Fixed : Breakpoints were not being displayed after file was saved in IDE
  • Fixed : Anchoring not properly working when creating forms with Position = poScreenCenter
  • Fixed : AV when setting TIDEEngine.PaletteButtons at design-time


  • Fixed : Issue with installer for Delphi XE4 & C++Builder XE4


  • New : Support for Delphi XE4 & C++Builder XE4
  • Fixed : Memory leak when using Int64 values in Format function
  • Fixed : IsDate function in VBLibrary now checks strings for valid dates
  • Fixed : Flickering when filtering components in component palette
  • Fixed : AV when trying to insert a component from component palette using keyboard and no form visible


  • New : Latest AdvMemo 3.1.1 improvements integrated
  • Improved : Components now available at design-time for 64-bit applications
  • Fixed : Wrong line/column debug information when running pre-compiled code
  • Fixed : Wrong atScript.hpp header file in C++ Builder 2007
  • Fixed : Setting TatCustomScripter.ScriptFormClass property raised an incorrect exception
  • Fixed : Msg parameter not being passed as reference in DoCompileError method
  • Fixed : Loading forms now opens file in shareable mode to avoid problems with multiple projects accessing same form file.
  • Fixed : Issues when compiling scripter with assertions off
  • Fixed : Events in very specific components like TvrTimer were not being set when form loads
  • Fixed : Designer handles not being updated when selected control was resized automatically after a form resize
  • Fixed : Access violation when registering components in an specific order


  • Fixed : Issues with installer


  • Fixed : mod operator not working with Int64 values higher than High(integer)
  • Fixed : Wrong properties like "AutoSize", "FormStyle", "KeyPreview" appearing in Object Inspector for non-form components
  • Fixed : Memory leak when using script forms and destroying scripter before the form


  • New : Support for executing scripts in FireMonkey applications
  • New : Delphi/C++Builder XE3 support
  • Improved : DefineRecordByRTTI method now returns the generated class
  • Improved : Better performance in import tool by using .spu files if .pas file was not changed
  • Fixed : Support for int64 values in Format function
  • Fixed : Missing component names when loading forms at low level using TFDReader (without using designer component)
  • Fixed : Issue when clearing some scripts between first and second project execution (implicit class references)
  • Fixed : Import tool parameter hints with default string values were being exported with single quotes causing syntax error in imported files
  • Fixed : Duplicated entries in code completion window
  • Fixed : Access Violation when placing a component over a grab handle in form designer
  • Fixed : Access Violation when closing main form custom IDE's


  • New : TIDEDialog.PaletteStyle property allows use old-style Delphi 7 palette in newer Delphi versions
  • New : Support to declare 64-bit integer (Int64) literal values in script. Better handling of Int64 arithmetic operations (Delphi 6 and up only)
  • New : Support for 64-bit application development
  • New : If palette glyph is not available for a registered component, uses glyph from ancestor instead of using TComponent glyph
  • New : All new features of TAdvMemo 3.0 included
  • Improved : Import tool: Better handling of subtypes. It was ignoring properties/methods declared after subtype declaration
  • Improved : All imported files for VCL updated for 64-bit support and some missing methods like TList.Count in Delphi XE and up.
  • Fixed : TatScriptDebugger issue when settings breakpoints in a second execution
  • Fixed : Small issue with form header being renamed twice when form unit is project main unit
  • Fixed : Several Issue with default properties (using With clause, expression in indexes, global objects)
  • Fixed : Multi selection in form designer was being lost when controls were moved/resized
  • Fixed : Issue with code completion in TatScriptDebugger and TatMemoInterface components
  • Fixed : Issue with WideString parameters when defining classes using new RTTI
  • Fixed : Issue with TatDebugWatch
  • Fixed : Import tool now splits string constants when they are longer than 255 chars
  • Fixed : Import Tool issue with WideChar parameters
  • Fixed : Files in Scripter IDE were being marked as modified even when no modifications were being done to project
  • Fixed : Files in Scripter IDE were being marked as modified even when no modifications were being done to project
  • Fixed : Calling class functions using object references (eg. Button1.ClassName) failing in some situations


  • New : Undo/Redo operations in IDE form designer
  • New : TIDEEngine.UndoLevel property to control the level form designer undo operations
  • New : Delphi/C++Builder XE2 Support
  • New : Delphi XE2 support in import tool
  • New : ButtonHints property in Palette Toolbar component allows custom hints
  • Improved : Class registration using new RTTI - now also import classes not registered with RegisterClass
  • Fixed : Minor bug when saving compiled code
  • Fixed : Issue with combined indexed default properties
  • Fixed : Import tool now importing published methods


  • New : Updated imported VCL units for all Delphi versions, now including parameter hints
  • New : Updated import tool to also import parameter hints of methods
  • New : Support for creating script-based classes (see limitations in manual)
  • New : Smart code completion automatically suggests last choices made by user
  • New : Full support for parameter hints in syntax memo editor
  • New : Additional parameter in DefineMethod allowing to specify the parameter hint for that method
  • Improved : Several other improvements added from TAdvMemo 2.3 version (see AdvMemo.pas source code for more info)
  • Improved : Overall improved code completion experience with several issues fixed and better keyboard support for completion
  • Fixed : Relative paths for script files not working with $(APPDIR) and $(CURDIR)
  • Fixed : Issues with on dataset fields editor


  • Fixed : TMS VCL Subscription manager install issue


  • New : Visual editor for TWideStringList properties in object inspector
  • New : Updated imported VCL units for all Delphi versions, now including indexed properties, default parameters and other minor tweaks
  • New : Event on TIDEEngine for component selection in form designer
  • Fixed : Issue with getter of boolean properties using DefineClassByRTTI
  • Fixed : Issue with enumerated types in ImportTool
  • Fixed : Issue with TStringList.Create in Delphi XE imported Classes library
  • Fixed : Instructions to return values for "out" parameters not generated by ImportTool
  • Fixed : Install conflict between Scripter and other TMS packages
  • Fixed : Functions with "out" parameters not working in ap_DateUtils


  • Fixed : Issue with installer for RAD Studio XE


  • New : Support for default indexed properties in script syntax
  • New : RAD Studio XE support
  • New : Import Tool parser is now recognizing most of new Delphi syntax features and provides RAD Studio XE support
  • New : Fields Editor for TDataset components in the IDE
  • New : Combobox editor for FieldName and TableName properties in Object
  • New : C++ Builder source code examples included in Scripter manual
  • Improved : Options in DefineClassByRTTI method to redefine an already defined class in scripter
  • Improved : Added property Modified (read only) in TIDEProjectFile
  • Fixed : unit ap_Mask missing at DB palette registering
  • Fixed : Issues with code completion (up to Delphi 2005)
  • Fixed : Issues with DefineClassByRTTI method (registering of constructor overloads, return of var/out method parameters)
  • Fixed : Issue with script executed step by step while watching a variable
  • Fixed : Issue with record declarations in units imported by ImportTool using enhanced RTTI
  • Fixed : Issue with getter of boolean properties
  • Fixed : Find and Replace in memo didn't work with Match Whole Word Only
  • Fixed : Cursor position was not restoring in source code when toggling form/unit


  • New : TIDEEngine.PreventDefaultEventCreation property
  • New : Fully documented source code
  • New : Extensive help component reference
  • New : Automatic classes, methods and properties registration using new enhanced RTTI (Delphi 2010 and later)
  • Fixed : Paste to editor was not pasting in correct position
  • Fixed : Memory leak when using some rare syntax constructions in script
  • Fixed : Issue with tab set in Themed IDE
  • Fixed : Issue with scrollbars in form editor
  • Fixed : Issue with SaveCodeToFile when using form components of a non-registered class
  • Fixed : Error compiling some imported units in Delphi 2010
  • Fixed : Access Violation on Items property of TMainMenu and TPopupMenu


  • New : TatCustomScripter.LoadFormEvents property allows setting event handlers when loading form dfm files saved in Delphi
  • Improved : Char constants now accept hexadecimals (#$0D as an alternative to #13)
  • Fixed : VB function Timer was performing wrong calculation with miliseconds
  • Fixed : VB function MsgBox was displaying incorrect window caption
  • Fixed : Issue with OnRuntimeError not providing correct source code row and col of error
  • Fixed : Issue with F9 key not being trapped by script forms
  • Fixed : Editor not becoming invisible when closing a file in the ide (with THEMED_IDE directive defined)
  • Fixed : Component icons in toolbar were missing when compiling application with packages


  • New : Design-time image list editor
  • New : Delphi/C++ Builder 2010 support
  • New : Array properties supported in COM objects
  • Improved : Pascal syntax allows "end." (end dot) in main script block
  • Improved : AdvMemo files updated to latest versions
  • Fixed : Issue with try..except and try..finally blocks
  • Fixed : Issue with component placing in form designer
  • Fixed : Incompatibility when Greatis components are installed together with scripter pro


  • New : Variable initialization in Basic scripts (e.g., Dim A as String = "Hello")
  • New : Try..Catch..End Try syntax in addition to Try..Except..End (in Basic scripts)
  • New : Themed IDE. By defining directive THEMED_IDE in AScript.INC file you can compile scripter package with TMS Component Pack and have your IDE in Office style (Luna, Olive, etc.)
  • New : TIDEPaletteButtons.CategoryColor and CategoryColorTo properties allow settings a background color for all categories in the control
  • New : TIDEEngine.UnregisterComponent method
  • New : TIDEEngine.OnGetComponentImage event allows providing an image for component icon (in toolbar and form designer) without needing to include resources
  • New : TIDEEngine.OnComponentPlaced event is fired whenever a new component in placed in form designer
  • New : TIDEDialog.AppStyler property allows setting the theme style of the whole IDE (requires TMS Component Pack)
  • New : TCustomScripter.ScriptFormClass allows providing a different class (derived from TScriptForm) for the IDE forms
  • New : Return statement in Basic scripts
  • New : If..Then.. statements without "End If" for single line statements (in Basic scripts)
  • New : "Private" and "Public" keywords allow defining private global variables, private subs and private functions (not visible from other scripts) in Basic scripts
  • Improved : When scripter don't find a library, a compile error is raised (instead of an exception)
  • Improved : Included packages for specific compilation in C++Builder-only environments
  • Improved : In IDE, current file name is displayed in save dialogs
  • Improved : IDE now uses default component icon for new components registered in IDE that don't have specific icon
  • Fixed : Undesired behaviour when using Close Project menu option
  • Fixed : Issue with popup menu in object inspector when mouse buttons are swapped
  • Fixed : Issue with menu option "Compile" in scripter IDE
  • Fixed : Issue with clipboard error in scripter IDE
  • Fixed : Issue when using arrow keys to move between controls in form designer
  • Fixed : Issue when double clicking the form's caption in form designer
  • Fixed : In IDE form designer, form was disappearing in Windows Vista when BorderStyle was set to bsNone
  • Fixed : AV in form designer when cutting controls to clipboard
  • Fixed : "Select Unit" and "Watch Properties" windows are now dialogs (not sizeable, not minimizable)


  • New : redo menu option in IDE
  • New : public method/property TIDEEngine.VisibleFileCount and TIDEEngine.VisibleFiles
  • New : property TIDEEngine.AutoStyler allows avoiding the engine to set an automatic syntax styler for the memo
  • New : const declaration in Basic script
  • New : compile menu option in IDE
  • New : VBScript functions Redim, RedimPreserve, Split, Join, StrReverse and Randomize
  • New : TatCustomScripter methods BeginRefactor and EndRefactor to allow changing in source code without notifying the IDE
  • New : "new" clause in Basic script. e.g "MyVar = new TLabel(Self)"
  • Improved : scrolling in memo when ActiveLine property is set
  • Improved : position of non-visual componentes being saved now
  • Improved : exposed TAdvMemo.VisiblePosCount as public property
  • Improved : default popup menu (copy, paste, etc.) in object inspector
  • Improved : cursor position in memo is preserved when switching units and/or running the script
  • Improved : clipboard operations now working in designer, memo and inspector
  • Improved : better performance in designer when using big scripts
  • Improved : better load/save compiled code engine
  • Improved : active line indicator now is hidden after script finished execution
  • Improved : VBScript functions LBound, UBound, MsgBox now have default parameters
  • Fixed : Small issues and AV. See manual for details.


  • New : DelphiFormEditing demo shows how to use scripter pro components to edit existing Delphi forms
  • New : Delphi 2009/C++Builder 2009 support
  • Improved : Scrollbars in form designing
  • Improved : Main unit is now the last one being saved when a "save all" operation is performed
  • Improved : IDE component combo now sort component names
  • Improved : Fixed some minor visual issues with menu editor
  • Improved : C++ to Pascal converter demo updated with more examples
  • Fixed : Various smaller improvements & fixes


  • New : Undo menu option in IDE Dialog
  • New : TIDEProjectFile.SaveFormToString method
  • New : TIDEProjectFile.FormResource property
  • New : TIDEEngine.ActiveFileModified allows notify the IDE that the current file was updated
  • New : Read/write TIDEEngine.SelectedComponent property identifies which is the current component selected in the ide form designer
  • New : Property TatCustomScripter.Watches (TatScripterWatches class) with the concept of watches for the whole scripter, not only the current script being executed
  • New : Non-modal menu editor in the IDE allows better integration with the IDE while editing a menu
  • New : Method TAdvMemo.SaveToRTFStream
  • New : AddNotifier and RemoveNotifier in TIDEEngine allows to receive notifications about changed in the IDE
  • New : "Find" and "Find and Replace" menu options in IDE Dialog
  • Improved : Scroll bars now appear in the form designer when the form is bigger than client editor area
  • Improved : Renaming internal classes for compatibility with other 3rd party tools (Greatis, ReportBuilder)
  • Improved : Memo syntax highlighting with pascal syntax
  • Improved : Local variables are now initialized to NULL
  • Improved : Clicking on caption bar now selects the form being designed
  • Improved : Autocompletion list updating while typing
  • Fixed : Runtime error message was not displaying correct line and number of error
  • Fixed : Menu items now can be selected in the object inspector and component combobox
  • Fixed : Issue with watches not being updated or disappearing while debugging
  • Fixed : Issue with scrollbar animation on Windows Vista in TAdvMemo
  • Fixed : Issue with repainting after RemoveAllCodeFolding in TAdvMemo
  • Fixed : Issue with pasting into an empty memo in TAdvMemo
  • Fixed : Issue with paste on non expanded line in TAdvMemo
  • Fixed : Issue with parameters passed by value to subroutines behaving like by reference
  • Fixed : Issue with editing Tform.WindowMenu property
  • Fixed : Issue with editing Tform.ActiveControl property
  • Fixed : Issue with TrimTrailingSpaces = false in TAdvMemo
  • Fixed : Issue in Delphi 5 with inserting lines in TAdvMemo
  • Fixed : Gutter painting update when setting Modified = false programmatically in TAdvMemo
  • Fixed : Center in window option in alignment tool was not working properly


  • First release, based on Scripter Studio 4.0

Buy now

TMS Scripter

Single developer license

license for 1 developer
€ 60 yearly renewal *
€ 190

order now
add to cart

Small team license

license for 2 developers
€ 85 yearly renewal *
€ 300

order now
add to cart

Site license

unlimited developers in the company
€ 185 yearly renewal *
€ 630

order now
add to cart

CreditCards and PayPal Accepted


    Delphi 7, 2007, 2010, 2009, XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney, 11 Alexandria, C++Builder 2007, 2009, 2010, XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney, 11 Alexandria (Professional/Enterprise/Architect)