Breaking Changes
List of changes in each version that breaks backward compatibility.
Version 6.5
There was a big package restructuration in version 6.5. More info in the dedicated topic.
Now you are required to add
Vcl.ScripterInit
unit to your project if you are using Delphi XE or lower, otherwise an error message will appear when you try to use the scripter components:
uses
Vcl.ScripterInit;
Version 6.0
- Changes in package structure to support Firemonkey. More info here.
Version 6.5 - Package Restructuration
TMS Scripter packages have been restructured. The packages are now separated into runtime and design-time packages, and into several smaller ones allowing a better usage of them in an application using runtime packages (allows it to work with 64-bit applications using runtime packages, for example). Also, Libsuffix option is now being used so the dcp files are generated with the same name for all Delphi versions. Here is an overview of what's changed:
Before version 6.5, packages were last restructured in version 6.0. You can check the topic about Version 6.0 Breaking Changes to see how it was.
From version 6.5 and on, there are twelve packages:
- TMSScripter.dpk (Core Package)
- TMSScripter_Memo.dpk (Syntax Highlight Memo)
- TMSScripter_Imports_RTL.dpk (Imports for RTL Units)
- TMSScripter_Imports_VCL.dpk (Imports for VCL Components)
- TMSScripter_Imports_DB.dpk (Imports for DB Components)
- TMSScripter_Imports_ADODB.dpk (Imports for ADODB Components)
- TMSScripter_FMX.dpk (Units to Support Scripter in Firemonkey Applications)
- TMSScripter_VCL.dpk (Units to Support Scripter in VCL Applications)
- TMSScripter_IDE.dpk (TMS Scripter IDE Components)
- TMSScripter_Legacy.dpk (Legacy TMS Scripter Components)
- dclTMSScripter.dpk (Design-Time Core Package)
- dclTMSScripter_Memo.dpk (Design-Time Memo Package)
DCP files are generated with same name, and only BPL files are generated with the suffix indicating the Delphi version. The suffix, however, is the same used by the IDE packages (numeric one indicating IDE version: 160, 170, etc.). The new package structure is as following (note that when 6.5 was released, latest Delphi version was XE7. Packages for newer versions will follow the same structure):
Version | Package File Name | BPL File Name | DCP File Name |
---|---|---|---|
Delphi 7 | TMSScripter.dpk TMSScripter_Memo.dpk TMSScripter_Imports_RTL.dpk TMSScripter_Imports_VCL.dpk TMSScripter_Imports_DB.dpk TMSScripter_Imports_ADODB.dpk TMSScripter_FMX.dpk TMSScripter_VCL.dpk TMSScripter_IDE.dpk TMSScripter_Legacy.dpk dclTMSScripter.dpk dclTMSScripter_Memo.dpk |
TMSScripter70.bpl TMSScripter_Memo70.bpl TMSScripter_Imports_RTL70.bpl TMSScripter_Imports_VCL70.bpl TMSScripter_Imports_DB70.bpl TMSScripter_Imports_ADODB70.bpl TMSScripter_FMX70.bpl TMSScripter_VCL70.bpl TMSScripter_IDE70.bpl TMSScripter_Legacy70.bpl dclTMSScripter70.bpl dclTMSScripter_Memo70.bpl |
TMSScripter.dcp TMSScripter_Memo.dcp TMSScripter_Imports_RTL.dcp TMSScripter_Imports_VCL.dcp TMSScripter_Imports_DB.dcp TMSScripter_Imports_ADODB.dcp TMSScripter_FMX.dcp TMSScripter_VCL.dcp TMSScripter_IDE.dcp TMSScripter_Legacy.dcp dclTMSScripter.dcp dclTMSScripter_Memo.dcp |
Delphi 2007 | TMSScripter.dpk TMSScripter_Memo.dpk TMSScripter_Imports_RTL.dpk TMSScripter_Imports_VCL.dpk TMSScripter_Imports_DB.dpk TMSScripter_Imports_ADODB.dpk TMSScripter_FMX.dpk TMSScripter_VCL.dpk TMSScripter_IDE.dpk TMSScripter_Legacy.dpk dclTMSScripter.dpk dclTMSScripter_Memo.dpk |
TMSScripter100.bpl TMSScripter_Memo100.bpl TMSScripter_Imports_RTL100.bpl TMSScripter_Imports_VCL100.bpl TMSScripter_Imports_DB100.bpl TMSScripter_Imports_ADODB100.bpl TMSScripter_FMX100.bpl TMSScripter_VCL100.bpl TMSScripter_IDE100.bpl TMSScripter_Legacy100.bpl dclTMSScripter100.bpl dclTMSScripter_Memo100.bpl |
TMSScripter.dcp TMSScripter_Memo.dcp TMSScripter_Imports_RTL.dcp TMSScripter_Imports_VCL.dcp TMSScripter_Imports_DB.dcp TMSScripter_Imports_ADODB.dcp TMSScripter_FMX.dcp TMSScripter_VCL.dcp TMSScripter_IDE.dcp TMSScripter_Legacy.dcp dclTMSScripter.dcp dclTMSScripter_Memo.dcp |
Delphi 2009 | TMSScripter.dpk TMSScripter_Memo.dpk TMSScripter_Imports_RTL.dpk TMSScripter_Imports_VCL.dpk TMSScripter_Imports_DB.dpk TMSScripter_Imports_ADODB.dpk TMSScripter_FMX.dpk TMSScripter_VCL.dpk TMSScripter_IDE.dpk TMSScripter_Legacy.dpk dclTMSScripter.dpk dclTMSScripter_Memo.dpk |
TMSScripter120.bpl TMSScripter_Memo120.bpl TMSScripter_Imports_RTL120.bpl TMSScripter_Imports_VCL120.bpl TMSScripter_Imports_DB120.bpl TMSScripter_Imports_ADODB120.bpl TMSScripter_FMX120.bpl TMSScripter_VCL120.bpl TMSScripter_IDE120.bpl TMSScripter_Legacy120.bpl dclTMSScripter120.bpl dclTMSScripter_Memo120.bpl |
TMSScripter.dcp TMSScripter_Memo.dcp TMSScripter_Imports_RTL.dcp TMSScripter_Imports_VCL.dcp TMSScripter_Imports_DB.dcp TMSScripter_Imports_ADODB.dcp TMSScripter_FMX.dcp TMSScripter_VCL.dcp TMSScripter_IDE.dcp TMSScripter_Legacy.dcp dclTMSScripter.dcp dclTMSScripter_Memo.dcp |
Delphi 2010 | TMSScripter.dpk TMSScripter_Memo.dpk TMSScripter_Imports_RTL.dpk TMSScripter_Imports_VCL.dpk TMSScripter_Imports_DB.dpk TMSScripter_Imports_ADODB.dpk TMSScripter_FMX.dpk TMSScripter_VCL.dpk TMSScripter_IDE.dpk TMSScripter_Legacy.dpk dclTMSScripter.dpk dclTMSScripter_Memo.dpk |
TMSScripter140.bpl TMSScripter_Memo140.bpl TMSScripter_Imports_RTL140.bpl TMSScripter_Imports_VCL140.bpl TMSScripter_Imports_DB140.bpl TMSScripter_Imports_ADODB140.bpl TMSScripter_FMX140.bpl TMSScripter_VCL140.bpl TMSScripter_IDE140.bpl TMSScripter_Legacy140.bpl dclTMSScripter140.bpl dclTMSScripter_Memo140.bpl |
TMSScripter.dcp TMSScripter_Memo.dcp TMSScripter_Imports_RTL.dcp TMSScripter_Imports_VCL.dcp TMSScripter_Imports_DB.dcp TMSScripter_Imports_ADODB.dcp TMSScripter_FMX.dcp TMSScripter_VCL.dcp TMSScripter_IDE.dcp TMSScripter_Legacy.dcp dclTMSScripter.dcp dclTMSScripter_Memo.dcp |
Delphi XE | TMSScripter.dpk TMSScripter_Memo.dpk TMSScripter_Imports_RTL.dpk TMSScripter_Imports_VCL.dpk TMSScripter_Imports_DB.dpk TMSScripter_Imports_ADODB.dpk TMSScripter_FMX.dpk TMSScripter_VCL.dpk TMSScripter_IDE.dpk TMSScripter_Legacy.dpk dclTMSScripter.dpk dclTMSScripter_Memo.dpk |
TMSScripter150.bpl TMSScripter_Memo150.bpl TMSScripter_Imports_RTL150.bpl TMSScripter_Imports_VCL150.bpl TMSScripter_Imports_DB150.bpl TMSScripter_Imports_ADODB150.bpl TMSScripter_FMX150.bpl TMSScripter_VCL150.bpl TMSScripter_IDE150.bpl TMSScripter_Legacy150.bpl dclTMSScripter150.bpl dclTMSScripter_Memo150.bpl |
TMSScripter.dcp TMSScripter_Memo.dcp TMSScripter_Imports_RTL.dcp TMSScripter_Imports_VCL.dcp TMSScripter_Imports_DB.dcp TMSScripter_Imports_ADODB.dcp TMSScripter_FMX.dcp TMSScripter_VCL.dcp TMSScripter_IDE.dcp TMSScripter_Legacy.dcp dclTMSScripter.dcp dclTMSScripter_Memo.dcp |
Delphi XE2 | TMSScripter.dpk TMSScripter_Memo.dpk TMSScripter_Imports_RTL.dpk TMSScripter_Imports_VCL.dpk TMSScripter_Imports_DB.dpk TMSScripter_Imports_ADODB.dpk TMSScripter_FMX.dpk TMSScripter_VCL.dpk TMSScripter_IDE.dpk TMSScripter_Legacy.dpk dclTMSScripter.dpk dclTMSScripter_Memo.dpk |
TMSScripter160.bpl TMSScripter_Memo160.bpl TMSScripter_Imports_RTL160.bpl TMSScripter_Imports_VCL160.bpl TMSScripter_Imports_DB160.bpl TMSScripter_Imports_ADODB160.bpl TMSScripter_FMX160.bpl TMSScripter_VCL160.bpl TMSScripter_IDE160.bpl TMSScripter_Legacy160.bpl dclTMSScripter160.bpl dclTMSScripter_Memo160.bpl |
TMSScripter.dcp TMSScripter_Memo.dcp TMSScripter_Imports_RTL.dcp TMSScripter_Imports_VCL.dcp TMSScripter_Imports_DB.dcp TMSScripter_Imports_ADODB.dcp TMSScripter_FMX.dcp TMSScripter_VCL.dcp TMSScripter_IDE.dcp TMSScripter_Legacy.dcp dclTMSScripter.dcp dclTMSScripter_Memo.dcp |
Delphi XE3 | TMSScripter.dpk TMSScripter_Memo.dpk TMSScripter_Imports_RTL.dpk TMSScripter_Imports_VCL.dpk TMSScripter_Imports_DB.dpk TMSScripter_Imports_ADODB.dpk TMSScripter_FMX.dpk TMSScripter_VCL.dpk TMSScripter_IDE.dpk TMSScripter_Legacy.dpk dclTMSScripter.dpk dclTMSScripter_Memo.dpk |
TMSScripter170.bpl TMSScripter_Memo170.bpl TMSScripter_Imports_RTL170.bpl TMSScripter_Imports_VCL170.bpl TMSScripter_Imports_DB170.bpl TMSScripter_Imports_ADODB170.bpl TMSScripter_FMX170.bpl TMSScripter_VCL170.bpl TMSScripter_IDE170.bpl TMSScripter_Legacy170.bpl dclTMSScripter170.bpl dclTMSScripter_Memo170.bpl |
TMSScripter.dcp TMSScripter_Memo.dcp TMSScripter_Imports_RTL.dcp TMSScripter_Imports_VCL.dcp TMSScripter_Imports_DB.dcp TMSScripter_Imports_ADODB.dcp TMSScripter_FMX.dcp TMSScripter_VCL.dcp TMSScripter_IDE.dcp TMSScripter_Legacy.dcp dclTMSScripter.dcp dclTMSScripter_Memo.dcp |
Delphi XE4 | TMSScripter.dpk TMSScripter_Memo.dpk TMSScripter_Imports_RTL.dpk TMSScripter_Imports_VCL.dpk TMSScripter_Imports_DB.dpk TMSScripter_Imports_ADODB.dpk TMSScripter_FMX.dpk TMSScripter_VCL.dpk TMSScripter_IDE.dpk TMSScripter_Legacy.dpk dclTMSScripter.dpk dclTMSScripter_Memo.dpk |
TMSScripter180.bpl TMSScripter_Memo180.bpl TMSScripter_Imports_RTL180.bpl TMSScripter_Imports_VCL180.bpl TMSScripter_Imports_DB180.bpl TMSScripter_Imports_ADODB180.bpl TMSScripter_FMX180.bpl TMSScripter_VCL180.bpl TMSScripter_IDE180.bpl TMSScripter_Legacy180.bpl dclTMSScripter180.bpl dclTMSScripter_Memo180.bpl |
TMSScripter.dcp TMSScripter_Memo.dcp TMSScripter_Imports_RTL.dcp TMSScripter_Imports_VCL.dcp TMSScripter_Imports_DB.dcp TMSScripter_Imports_ADODB.dcp TMSScripter_FMX.dcp TMSScripter_VCL.dcp TMSScripter_IDE.dcp TMSScripter_Legacy.dcp dclTMSScripter.dcp dclTMSScripter_Memo.dcp |
Delphi XE5 | TMSScripter.dpk TMSScripter_Memo.dpk TMSScripter_Imports_RTL.dpk TMSScripter_Imports_VCL.dpk TMSScripter_Imports_DB.dpk TMSScripter_Imports_ADODB.dpk TMSScripter_FMX.dpk TMSScripter_VCL.dpk TMSScripter_IDE.dpk TMSScripter_Legacy.dpk dclTMSScripter.dpk dclTMSScripter_Memo.dpk |
TMSScripter190.bpl TMSScripter_Memo190.bpl TMSScripter_Imports_RTL190.bpl TMSScripter_Imports_VCL190.bpl TMSScripter_Imports_DB190.bpl TMSScripter_Imports_ADODB190.bpl TMSScripter_FMX190.bpl TMSScripter_VCL190.bpl TMSScripter_IDE190.bpl TMSScripter_Legacy190.bpl dclTMSScripter190.bpl dclTMSScripter_Memo190.bpl |
TMSScripter.dcp TMSScripter_Memo.dcp TMSScripter_Imports_RTL.dcp TMSScripter_Imports_VCL.dcp TMSScripter_Imports_DB.dcp TMSScripter_Imports_ADODB.dcp TMSScripter_FMX.dcp TMSScripter_VCL.dcp TMSScripter_IDE.dcp TMSScripter_Legacy.dcp dclTMSScripter.dcp dclTMSScripter_Memo.dcp |
Delphi XE6 | TMSScripter.dpk TMSScripter_Memo.dpk TMSScripter_Imports_RTL.dpk TMSScripter_Imports_VCL.dpk TMSScripter_Imports_DB.dpk TMSScripter_Imports_ADODB.dpk TMSScripter_FMX.dpk TMSScripter_VCL.dpk TMSScripter_IDE.dpk TMSScripter_Legacy.dpk dclTMSScripter.dpk dclTMSScripter_Memo.dpk |
TMSScripter200.bpl TMSScripter_Memo200.bpl TMSScripter_Imports_RTL200.bpl TMSScripter_Imports_VCL200.bpl TMSScripter_Imports_DB200.bpl TMSScripter_Imports_ADODB200.bpl TMSScripter_FMX200.bpl TMSScripter_VCL200.bpl TMSScripter_IDE200.bpl TMSScripter_Legacy200.bpl dclTMSScripter200.bpl dclTMSScripter_Memo200.bpl |
TMSScripter.dcp TMSScripter_Memo.dcp TMSScripter_Imports_RTL.dcp TMSScripter_Imports_VCL.dcp TMSScripter_Imports_DB.dcp TMSScripter_Imports_ADODB.dcp TMSScripter_FMX.dcp TMSScripter_VCL.dcp TMSScripter_IDE.dcp TMSScripter_Legacy.dcp dclTMSScripter.dcp dclTMSScripter_Memo.dcp |
Delphi XE7 | TMSScripter.dpk TMSScripter_Memo.dpk TMSScripter_Imports_RTL.dpk TMSScripter_Imports_VCL.dpk TMSScripter_Imports_DB.dpk TMSScripter_Imports_ADODB.dpk TMSScripter_FMX.dpk TMSScripter_VCL.dpk TMSScripter_IDE.dpk TMSScripter_Legacy.dpk dclTMSScripter.dpk dclTMSScripter_Memo.dpk |
TMSScripter210.bpl TMSScripter_Memo210.bpl TMSScripter_Imports_RTL210.bpl TMSScripter_Imports_VCL210.bpl TMSScripter_Imports_DB210.bpl TMSScripter_Imports_ADODB210.bpl TMSScripter_FMX210.bpl TMSScripter_VCL210.bpl TMSScripter_IDE210.bpl TMSScripter_Legacy210.bpl dclTMSScripter210.bpl dclTMSScripter_Memo210.bpl |
TMSScripter.dcp TMSScripter_Memo.dcp TMSScripter_Imports_RTL.dcp TMSScripter_Imports_VCL.dcp TMSScripter_Imports_DB.dcp TMSScripter_Imports_ADODB.dcp TMSScripter_FMX.dcp TMSScripter_VCL.dcp TMSScripter_IDE.dcp TMSScripter_Legacy.dcp dclTMSScripter.dcp dclTMSScripter_Memo.dcp |
Version 6.5 - TScrMemo replaces TAdvMemo
As of TMS Scripter 6.5, TAdvMemo component is no longer available. This doesn't mean there is no syntax highlight memo component anymore - it was just renamed to TScrMemo.
This was done to get rid of dependency and conflict with TMS Component Pack. Both products have a TAdvMemo component and although registered versions of both products could be installed together, it was not an ideal setup.
For most TMS Scripter users, this will be a transparent change. If you use TIDEMemo, it's still there. If you use TIDEDialog component to show the TMS Scripter IDE, it will still work. If you have TMS Component Pack installed, you will also have no problems.
The only issue that might appear is if you have TAdvMemo components in your application forms and you don't have TMS Component Pack installed. In this case, Delphi IDE will complain that a TAdvMemo component does not exist, and you will have to manually edit your dfm/pas file and replace any TAdvMemo reference by a TScrMemo reference.
Version 6.0 - Breaking Changes
1. Packages changed
For Delphi XE2 and up, packages were restructured. Package ascriptproxe2.dpk doesn't exist anymore, and was split into the following packages:
tmsscripter_xe2: Runtime package with core/non-visual classes and scripting engine.
tmsscriptervcl_xe2: Runtime package with VCL components and imported VCL.
tmsscripterreg_xe2: Design-time package.
tmsscripterfmx_xe2: Runtime package with Firemonkey components.
2. Existing applications need a small change
For Delphi XE2 and up, since the scripter engine can work with either VCL or Firemonkey, you must specify which framework you are using in your application, by adding a proper unit to the uses clause of any unit in your project.
To use scripter with VCL, add unit Vcl.ScripterInit
:
uses
Vcl.ScripterInit;
To use scripter with Firemonkey add unit FMX.ScripterInit
:
uses
FMX.ScripterInit;
3. Firemonkey compatibility
TMS Scripter engine is now is compatible with Firemonkey. It means you can execute scripts in Firemonkey applications, even with forms. But note that several VCL components don't have Firemonkey equivalents yet, especially the visual ones, so the scripter IDE (form designer, syntax memo, object inspector, etc.) are not available for Firemonkey applications.