Search Results for

    Show / Hide Table of Contents

    What's New

    Version 7.36 (Apr-2025)

    • New: Support for 64-bit IDE.

    • Improved: Grid step and grab size editors in Designer Options dialog could not be edited directly, only with spin buttons. Ticket #24243

    • Fixed: TField.AsLargeInt property was not being correctly read and written for values higher than the 32-bit range.

    • Fixed: FreeAndNil method not working correctly in old Delphi versions (below XE7).

    Version 7.35 (Oct-2024)

    • New: Support for Windows 64-bit (Modern) platform

    Version 7.34 (Sep-2024)

    • Improved: Updated TScrMemo, including some performance improvements.

    • Fixed: Generic getter/setter for properties were not working correctly with Int64 values. Ticket #23713.

    • Fixed: DLL import documentation updated. Ticket #22855.

    • Fixed: AV when saving file in IDE and "with" statement was syntatically incorrect.

    Version 7.33 (Mar-2024)

    • Fixed: Inline directives for several functions were not being applied due to wrong compiler directive name. Ticket #22456.

    • Fixed: Range function was not accepting integer parameter. Ticket #13541.

    Version 7.32 (Jan-2024)

    • New: Installation now available via TMS Smart Setup.

    • Fixed: code completion list not showing if invoked in an empty line. Ticket #22286.

    • Fixed: Range function was not accepting integer parameter. Ticket #13541.

    Version 7.31 (Nov-2023)

    • New: Delphi 12 Support.

    Version 7.30 (Oct-2023)

    • Fixed: Access Violation when using record wrappers in Win64 platform. Ticket #21773.

    Version 7.29 (Oct-2023)

    • Improved: Import tool updated to load settings from Delphi Sydney and Delphi 11.

    • Fixed: TatScripter component not available for platforms other than Win32/Win64. Ticket #21759.

    Version 7.28 (Jan-2023)

    • 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.

    Version 7.27 (Mar-2022)

    • Improved: Syntax highlight memo updated with bug fixes and improvements.

    • Fixed: ap_RichEdit was not compiling in Delphi 11.

    Version 7.26 (Feb-2022)

    • 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.

    Version 7.25 (Sep-2021)

    • New: Delphi 11 / Rad Studio 11 support.

    • New: Scripter IDE autocompletes a begin..end block with the end keyword after begin<Enter> is typed.

    • Fixed: Access Violation when reopening the IDE in Win64 platform.

    • Fixed: Sporadic "List index out of bounds" error when closing TMS Scripter IDE.

    • Fixed: AV when setting IDEEngine.AutoStyler to False, setting the custom syntax styler directly in the TIDEMemo component.

    • Fixed: Pascal syntax was accepting ifproc as a valid if statements (without space after the if).

    Version 7.24 (Mar-2021)

    • 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).

    Version 7.23.1 (Mar-2021)

    • Fixed: Access Violation after closing and reopening a project in Scripter IDE (regression).

    • Fixed: Access Violation when using code completion and parameter insight in some places of the code (regression).

    Version 7.23 (Mar-2021)

    • 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.

    • Improved: Updated syntax highlighting memo.

    • Fixed: Undo problems in multiple files. The undo stack for one file in project was being mixed with other files. See support request.

    • 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: WideChar values could not be passed as parameter to scripter functions via ExecuteSubRoutine.

    • Fixed: Rare Access Violation when filtering components in the component palette and the name of filtered component was not entirely visible.

    Version 7.22 (Aug-2020)

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

    Version 7.21 (Jun-2020)

    • 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.

    Version 7.20 (May-2020)

    • 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.

    • Fixed: Syntax memo updated to mirror TAdvMemo latest features and fixes. Copy/paste issue (pasting text in wrong position) is one of them.

    Version 7.19 (Feb-2020)

    • 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.

    Version 7.18 (Nov-2019)

    • 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).

    Version 7.17 (Jul-2019)

    • New: macOS 64 support in Delphi Rio 10.3.2.

    • Improved: Declaring UInt64 literal constants is now supported.

    • Improved: TatVirtualMachine.GetInputArgAsUInt64 method to retrieve parameters as UInt64.

    • Fixed: Syntax now accepts statements ending with multiple semi-colon.

    • Fixed: Argument out of range when running scripter on iOS/Mac OS using Dutch language.

    • Fixed: Sporadic Access Violation when expanding properties with subproperties (like Font, for example).

    • Fixed: Syntax error when using method without result values (procedures) with name starting with "Try".

    • Fixed: const section declared after var section was causing syntax error.

    Version 7.16 (Mar-2019)

    • 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).

    Version 7.15 (Dec-2018)

    • 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.

    Version 7.14 (Oct-2018)

    • New: TDBGrid context popup menu with option "Add all fields" in scripter IDE. Allows creating columns from the fields of the associated dataset.

    • Fixed: Access Violation when invoking code completion from uses classes and a few other parts of the code.

    • 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.

      MyObject.AnotherMyObject.SomeMethod();

    • Fixed: Range check error when reading/setting RootKey property of TRegistry objects.

    Version 7.13 (Jul-2018)

    • 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;).

    Version 7.12 (May-2018)

    • 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.

    Version 7.11 (Mar-2018)

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

    Version 7.10 (Nov-2017)

    • 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).

    Version 7.9 (Oct-2017)

    • Improved: Code completion now shows types of properties, variables and method/function results, when available.

    scripter code completion

    • Improved: Code completion has better retrieval of local variables and parameters.

    • 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: Rare AV when trying to use code completion in a part of the code that is inside a case statement.

    • Fixed: DelphiFormEditing demo: double clicking a control would turn object inspector blank.

    • Fixed: Sporadic Access Violation when using TSourceExplorer component.

    • Fixed: Rare "out of memory" error when displaying parameter hints (code insight)

    Version 7.8 (Jul-2017)

    • Fixed: "Invalid class type" when passing a TClass parameter to a method that was registered using DefineClassByRTTI.

    • Fixed: Invalid type cast when reading set properties of classes declared with DefineClassByRTTI.

    • 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.

    Previous Versions

    Version 7.7 (Mar-2017)

    • New: RAD Studio 10.2 Tokyo Support.

    Version 7.6 (Mar-2017)

    • 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.

    Version 7.5 (Jan-2017)

    • Fixed: Library browser not showing types of properties and method parameters when they were added using new RTTI.

    • 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: Import tool failing when parsing types which name starts with "string"

    • Fixed: Comparing object values in mobile compiler was causing invalid type cast error.

    • 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: AV when destroying a control with an event handler set from scripter, in Mac OS X.

    Version 7.4 (Aug-2016)

    • New: Support for record methods when using DefineRecordByRTTI.

    • Improved: Library browser now displays property types.

    • 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: Code completion not showing up in some situations when script contained declared routines.

    • Fixed: Boolean value comparison failing in some situations when invoking methods defined by new RTTI.

    • Fixed: TatScriptDebugger component was removing OnSingleDebugHook event from scripter component after executing the dialog.

    Version 7.3 (Jun-2016)

    • 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.

    Version 7.2 (Apr-2016)

    • New: Support for Delphi/C++Builder 10.1 Berlin.

    • Fixed: "List Index Out Of Bounds" error when acessing default properties.

    Version 7.1.1 (Mar-2016)

    • 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').

    Version 7.1 (Feb-2016)

    • 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: Event handlers receiving Int64 parameters were not working properly.

    • Fixed: Error when accessing components in a script form in mobile applications

    • Fixed: Parameter hints in IDE not showing when the parameter contains a string literal.

    • Fixed: Closing the IDE with modified files and then canceling closing upon confirmation dialog was turning some IDE icons into disabled state.

    • Fixed: Sporadic AV when using IDE and launching several non-modal script forms multiple times.

    • Fixed: TatScripter component disabled in component palette when targeting Android/iOS/Mac platforms.

    Version 7.0 (Jan-2016)

    • 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: DefineClassByRTTI was assigning a wrong property as the default indexed property of the class.

    • Fixed: Memory leak in FindFirst, FindClose and FindNext methods.

    • Fixed: Import tool not reparsing some files that were previously parsed with errors.

    • Fixed: Wrong result values when calling dll functions that return Int64 values on Windows 32.

    Version 6.5.4 (Sep-2015)

    • New: RAD Studio 10 Seattle support.

    Version 6.5.3 (Aug-2015)

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

    Version 6.5.2 (Jul-2015)

    • New: Support for set properties when registering classes using new RTTI (DefineClassByRTTI).

    • New: LastExceptionLine and LastExceptionCol functions available from script.

    • New: TAdvFormDesigner.OnCreateComponentClass event provides an opportunity to manually create an instance of a component needed by the designer.

    • New: TatCustomScripter.RemoveProperty method.

    • 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).

    Version 6.5.1 (Apr-2015)

    • New: Delphi/C++Builder XE8 support.

    • New: LastExceptionLine and LastExceptionCol properties provide info about the source code position where last exception was raised.

    • New: TCustomFormDesigner.GridStepPixel property sets the number of pixels to move/resize controls when using Ctrl+Arrow keys.

    • Fixed: Application hanging when registering some specific classes/components using RTTI.

    • Fixed: Scripter IDE wrongly considering source was changed even though it was not modified.

    • Fixed: Sporadic "Index out of bounds" when executing compiled code previously saved.

    Version 6.5 (Mar-2015)

    • New: Packages structure changed. Now it allows using runtime packages with 64-bit applications. It's a breaking change.

    • Improved: A breaking change was added for Delphi XE and lower, requiring you to add Vcl.ScriptInit unit to your project.

    • Improved: TScrMemo replaces TAdvMemo as the syntax memo class. It's a breaking change.

    • Improved: DefineClassByRTTI sets default indexed property automatically.

    • Improved: TIDEEngine.PrepareXXXXDialog methods (Save/Load/SaveProject/Loadproject) made virtual protected.

    • Improved: TIDEPaletteToolbar.UpdatePalette now virtual.

    • Fixed: Format function giving wrong results when formatting multiple string values.

    • Fixed: Setting indexed elements of array parameters passed by reference were not changing the array in Basic language.

    • Fixed: Import tool generating importing code that might fail in 64-bit applications.

    • Fixed: Assigned function could fail in 64-bit applications.

    • Fixed: Pascal syntax now accepts spaces before and after dot for accessing object members (<Variable>.<Member>).

    • Fixed: "Cannot Focus Disable Windows" error message when right-clicking some third-party components in form designer.

    • Fixed: Method calls in with clauses had lower precedence than global properties.

    • Fixed: Margins were incorrect with anchored controls in forms using bsSingle border style.

    • Fixed: Memory leak when copying components in form designer.

    • Fixed: TatMethod and TatProperty assign now properly assign event properties.

    Version 6.4 (Sep-2014)

    • New: Rad Studio XE7 support.

    • New: TIDEEngine.ProjectExt property allows specifying a project extension name different than '.ssproj'.

    • Fixed: Syntax memo incorrectly displaying commented code.

    • Fixed: AV when accessing default indexed properties with more than one index.

    • Fixed: Setting default indexed properties for untyped variable objects.

    • Fixed: Ord function not working for non-string values.

    • Fixed: Import tool incorrectly creating event adapter for events that returned a value (functions).

    • Fixed: OnSingleDebugHook event not being fired in TIDEScripter component.

    Version 6.3.1 (May-2014)

    • New: Rad Studio XE6 support.

    • 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: Icon for non-visual components in form designer were not being affected by OnGetComponentImage event.

    • Fixed: Insufficient RTTI Information when trying to import indexed TBytes property. Now the property is ignored (Delphi limitation).

    • Fixed: AV violation while destroying TIDEEngine in some rare situations.

    • Fixed: Some unicode characters being displayed incorrectly in object inspector.

    • Fixed: "Canvas does not allow drawing" error when using form designer in an styled VCL application.

    • Fixed: Rare Access Violation when closing all forms in scripter IDE.

    • Fixed: Controls not being displayed in some situations, after loading a project, when controls had their Visible property set to false.

    • Fixed: Setting object properties failing in some situations in 64-bit applications.

    • Fixed: Error when forcing varLongWord variants to integer values.

    • Fixed: "SSImport_Icon not found" error when compiling ImportTool project in some Delphi versions.

    Version 6.3 (Feb-2014)

    • New: Automatic registration via RTTI now supports indexed properties (Delphi XE2 and up).

    • Improved: Code completion for local variables.

    • Improved: New TPaletteButton.ToolClass property allows checking what is the component class associated with a palette button.

    • Fixed: Error when calling methods such as Outer.InnerClass.HelloWorld and both Outer and InnerClass return script-based classes.

    • Fixed: Issue with component palette icons when compiling to 64-bit.

    • Fixed: Access Violation when reading record properties declared using RTTI.

    • Fixed: Setting ScriptFormClass property had no effect when creating forms from script.

    • Fixed: Access Violation when using code completion in some situations.

    • Fixed: Losing event handlers when renaming a component which name is contained by another component's name.

    • Fixed: Copy/paste operations were not copying event handlers properly.

    Version 6.2 (Oct-2013)

    • New: TIDEDialog.Show method now allows IDE to be displayed as non-modal.

    • New: Rad Studio XE5 support.

    • Improved: TatScript.FileName property made public.

    • Fixed: Pascal single-line comments (starting with "//") not working on Mac.

    • Fixed: Error when trying to pass EmptyParam to OLE servers.

    • Fixed: AV when setting TIDEEngine.PaletteButtons at design-time.

    • Fixed: Issue with DebugStepOverLine and DebugUntilReturn methods when scripter is running in threads.

    • Fixed: Breakpoints were not being displayed after file was saved in IDE.

    • Fixed: Small glitch when selecting controls in form designer with fast mouse movement.

    • Fixed: Custom glyph grab handles not being displayed on graphical controls.

    • Fixed: MDI child script forms being displayed twice.

    • Fixed: Anchoring not properly working when creating forms with Position = poScreenCenter.

    Version 6.1.1 (May-2013)

    • New: Rad Studio XE4 support.

    • Fixed: AV when trying to insert a component from component palette using keyboard and no form visible.

    • Fixed: Flickering when filtering components in component palette.

    • Fixed: IsDate function in VBLibrary now checks strings for valid dates.

    • Fixed: Memory leak when using Int64 values in Format function.

    Version 6.1 (Mar-2013)

    • New: Latest AdvMemo 3.1.1 improvements.

    • Improved: Components now available at design-time for 64-bit applications.

    • Fixed: Loading forms now opens file in shareable mode to avoid problems with multiple projects accessing same form file.

    • Fixed: Events in very specific components like TvrTimer were not being set when form loads.

    • Fixed: Issues when compiling scripter with assertions off.

    • Fixed: Wrong line/column debug information when running pre-compiled code.

    • Fixed: Msg parameter not being passed as reference in DoCompileError method.

    • Fixed: Access violation when registering components in an specific order.

    • Fixed: Setting TatCustomScripter.ScriptFormClass property raised an incorrect exception.

    • Fixed: Wrong atScript.hpp header file in C++ Builder 2007.

    • Fixed: Designer handles not being updated when selected control was resized automatically after a form resize.

    Version 6.0 (Sep-2012)

    • New: Support for executing scripts in Firemonkey applications.

    • New: Delphi XE3 and 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: Duplicated entries in code completion window.

    • Fixed: Import tool parameter hints with default string values were being exported with single quotes causing syntax error in imported files.

    • Fixed: Issue when clearing some scripts between first and second project execution (implicit class references).

    • Fixed: Missing component names when loading forms at low level using TFDReader (without using designer component).

    • Fixed: Access Violation when closing main form custom IDE's.

    • Fixed: Access Violation when placing a component over a grab handle in form designer.

    • Fixed: Support for int64 values in Format function.

    • New: Dropped support for Delphi 5, 6, 2005, 2006 and C++Builder 6, 2006.


    Note

    TMS Scripter 6 is a merge of former Scripter Studio and Scripter Studio Pro. You can check version history of such products at the following links.

    Scripter Studio version history

    Scripter Studio Pro version history

    In This Article
    Back to top TMS Scripter v7.36
    © 2002 - 2025 tmssoftware.com