Latest Version: 2024.3


LMD IDE-Tools is collection of native VCL components which help you to set up a complete IDE environment in a quick and easy way. Extend your applications by providing your customers enhanced possibilities - either by custom scripts or even complete dialogs or additional forms. This package includes LMD DesignPack, LMD ScriptPack and LMD SyntaxEdit (check also product pages of these packages to learn all available features). Besides that LMD IDE-Tools adds an additional integration package which combines the abilities and features of the standalone packages and adds high level features like IDE services (component palette, IDE manager, synchronizing services), project manager tools (handling of different documents, project view), advanced designing features (alignment palette, support for component editors, object/component view) and so on. An example IDE project (supporting the script languages included in LMD ScriptPack) is shipped with the complete package which demonstrates how to set up a complete IDE project.


  • Includes 35+ controls for setting up a complete IDE like environment in a quick and easy way.
  • Includes LMD DesignPack. The design features are represented by object inspector like controls, extended form designers, diagram like objects, etc.
  • Includes LMD ScriptPack. Includes script control, script source management helpers and multi-module script debugger component.
  • Editor features are provided by the SyntaxEdit control which supports syntax highlighting, code folding and ultra fast text-handling.
  • The high level components of the IDE integration package provide solutions for common IDE like applications. Examples are component palette, Delphi like object tree, project manager, support for component and property editors, helpers for design/code handling etc.
  • Full sourcecode of library included
  • Extensive demo projects with sourcecode
  • Free updates via Internet
  • A Site License covers unlimited number of developers in same organization at one location
  • Free technical support via forum (forum.lmd.de), e-mail, fax or mail
  • Also available as part of LMD VCL Complete


See also: LMD InspectorPack, LMD DesignPack, LMD ScriptPack, LMD SyntaxEdit, LMD DockingPack

IDE example project

This screenshots shows the IDE example project. Standard elements like component palette, alignment palette, object tree, object inspector, form designer and project manager are visible.

This screenshot demonstrates interaction between ScriptPack, DesignPack and SyntaxEdit controls: Like in Delphi/C++ IDE doubleclicking event in property inspector results in automatic switch to codeview where the event handler template is automatically created (here in VB Script).

This screenshot demonstrates the Creation Order dialog which specifies for nonvisual controls creation order when a form is loaded.

Advanced Breakpoint view. Breakpoints support now different actions, conditions etc.

Advanced Log View with colorization feature for different message types.

Debugging related controls: TLMDCallStackView, TLMDCallStackComboBox, TLMDVariablesView and TLMDWatchView.

InspectorPack included

DockingPack included

VCL styles


The TLMDDBDiagram class represents a more specialized variant of TLMDDiagram component. It is usually used to visualize relationships of database tables, similar to the table relationship diagrams e.g. known from MS Access.
Use TLMDDesigner to make enduser design features similar to the form designer in Delphi IDE available. The control can be used in two ways: At first as stand alone control to set a form in "design mode" or used in connection with TLMDDesignPanel. A TLMDDesignPanel control acts as container for any TWinControl descendant for which runtime design features should be made available.
The DesignPanel control is required if you want to use TLMDDesigner in connection with a TWinControl descendant (instead of using the "form designer" mode). This control does not provide any design features itself, it handles only the control for which design feature should be enabled (e.g. adds scrollbars when design area extends dimensions of TLMDDesignPanel etc.).
The TLMDDiagram component allows display of boxes which can be linked to each other, so that relationships between different items can be made visible.
The TLMDPropertyInspector control simulates functionality of the object inspector which is known from the Delphi / CBuilder IDE. With a couple of mouse clicks and a few lines of code you can integrate advanced design features into your applications. In addition the component provides a powerful interface which allows simple integration of own property editors or extended features.
Use TLMDDesignManager to connect designer control(s) with object combobox and property inspector components. Thus creation of a designer with object inspector like features is simplified, because almost no synchronization code is required.
ComboBox like in Delphi object inspector, allowing display and selection of controls in the current designer.
TLMDDesignObjects is a component for representing object collections. Instances of this class can be connected to several LMD DesignPack components and play different roles. Like DB-aware Delphi visual controls automatically communicate with datasets, Design Pack controls communicate with TLMDDesignObjects collections.
The TLMDModule component represents within DesignPack the designing-module where several module-related functions and events are centralized. Those utilities are used by other DesignPack controls or by the streaming system.
The TLMDServiceProvider component is used to organize a service architecture in IDE-Tools applications.
Enables Delphi/CBuilder applications to support active scripting languages installed in Windows Scripting Host. In doing so VCL objects can be used within scripts and vice versa.
The TLMDSourceUtils control provides services for parsing, searching and generating of script fragments (e.g. procedures) which can be used as event handlers for components. It is useful when LMD-ScriptPack and LMD-DesignPack packages are combined for setting up an integrated scripting languages IDE.
TLMDScriptDebugger allows true multi-module multi-language debugging capabilities for the script controls.
Content/properties of a document and its view are separated in LMD SyntaxEdit. Use the TLMDEditDocument control to handle the content of the document.
TLMDEditView is the visible part in LMD SyntaxEdit. Use this control to specify look and feel, specify different gutter bars, handle keystrokes etc.
This component allows to connect directly to a TLMDEditView control and fetch the printable contents from it.
TLMDEditFindDialog is a non-visual component which can be used to show text search modal dialog. It indended to be used with TLMDEditView control.
TLMDEditReplaceDialog is a non-visual component which can be used to show text replacement modal dialog. It indended to be used with TLMDEditView control.
TLMDEditKeyBindingDialog is a non-visual component which can be used to show syntax edit key binding modifying dialog. It indended to be used with TLMDEditView control.
TLMDEditSyntaxSchemeDialog is a non-visual component which can be used to show syntax scheme editing dialog. It indended to be used with TLMDEditView control.
TLMDEditColorSchemeDialog is a non-visual component which can be used to show colot scheme editing dialog. It indended to be used with TLMDEditView control.
TLMDEditGotoLineDialog is a non-visual component which can be used to show Delphi IDE like Goto Line dialog. It indended to be used with TLMDEditView control.
Use the TLMDIdeManager component to organize/concentrate communication between other LMD IDE-Tools components. It also provides several services to allow automated features and synchronization between affected components (e.g. property inspector, object combo box, component and alignment palette, component tree etc.).
The TLMDProjectManager component is a non-visual component that helps to manage IDE-like projects. In LMD IDE-Tools achitecture a project is a tree of abstract nodes that can represent any project related information, e.g. project groups, projects, documents inside projects, documents parts.
The TLMDOpenedDocument component represent an opened project document within an IDE application (generally it connects to a node in the Project Manager and receives required notifications (close, save, show etc.)).
This powerful control allows to use a Delphi IDE like Object TreeView. Collections, child controls etc. are automatically handled.
The TLMDComponentPalette control allows to display Delphi like component palette. Any number of components can be registered, different tabs and component images are supported.
TLMDObjectEditorManager implements an infrastructure system for component editors. Now writing specific component editors is as easy as writing simple property editors!
The non-visual TLMDAlignPalette component allows to display an component alignment palette (as known from the Delphi/C++ IDE). All operations are performed automatically. Simply connect at design-time to a Designer component and show palette at run-time - that's all!
This component implements hierarchical view for project documents represented by TLMDProjectManager component.
This component implements tabbed editor view for editing opened project documents.
TLMDComponentBar control allows to display modern, BDS-like, component palette. Any number of components can be registered, different pages and component images are supported.
TLMDDebuggerSource is used as an intermediate component between TLMDScriptDebugger from LMD-ScriptPack and debugger related visual controls, such as TLMDVariablesView. From some viewpoint its analogous to TDataSource stadard VCL component which is used to link data sets with visual data aware controls.
TLMDCallStackView control shows Delphi IDE like Call Stack view. It can be easily linked with LMD-ScriptPack debugger using TLMDDebuggerSource component.
TLMDCallStackComboBox control allows to select a procedure from the list of procedures of currently debugging script call stack. It can be easily linked with LMD-ScriptPack debugger using TLMDDebuggerSource component.
TLMDVariablesView control can be used to show local variables of a debugging script in a hierarchical way; it can be also used to show the result of debug expression evaluations. It can be easily linked with LMD-ScriptPack debugger using TLMDDebuggerSource component.
TLMDWatchView shows Delphi IDE like Watches window. It can be easily linked with LMD-ScriptPack debugger using TLMDDebuggerSource component.
TLMDEventLogView shows Delphi IDE like Event Log window. Been connected to the script debugger it can automatically catch some standard events, like "breakpoint reached", breakpoint log message, breakpoint log call stack, ect. It can be easily linked with LMD-ScriptPack debugger using TLMDDebuggerSource component.
TLMDBreakpointsView shows Delphi IDE like Breakpoints list. It can be easily linked with LMD-ScriptPack debugger using TLMDDebuggerSource component.
LMD *ML Generator separates data from presentation and lets you and your users change the format of the output text without rebuilding the application or changing the data source. *ML Generator uses a template (regular string with XML-like tags) as input and produces some output.
TLMDPrinter is a component which handles all the low-level details of interaction with physical printer and Windows printer object hiding the complexity of Windows printing system from the user and allowing him to customize various printing settings like page margins, headers and footers etc.
If you don't want to use predefined TLMDPrintPreviewDialog, this control together with TLMDPrintStatusBar and TLMDPrintToolBar can be used to implement a custom print preview.
Use this component to add a status bar to a PreviewPanel component. It provides predefined info panels. Use it in connection to the TLMDPrintPreviewPanel component. LMD PrintPack itself makes use of it in the TLMDPrintPreviewDialog control.
A predefined toolbar for use with TLMDPrintPreviewPanel (for printing tasks).
Implements page setup dialog.
Implements print dialog.
Implements printer setup dialog.
This component allows user to fully define the printable contents for printing strings.
This component allows user to fully define the printable contents for printing images.
This component allows to connect to an edit control and fetch the printable contents from it.
This component allows to connect directly to a string grid control and fetch the printable contents from it.
This component allows printing of a ListView control contents in the tabular format.
This component implements print preview dialog.
This component exposes some of LMDThemeEngine settings at design-time. LMDThemeEngine is one of custom LMD theme renderers, it implements support of WindowsXP styles (*.msstyles), allowing usage of custom WinXP styles in your application.
Drop TLMDSimpleGradientThemeController on a form to apply MS Office 2003-style look to LMD controls with native theme mode. Also, it allows to customize themed drawing via events.
TLMDFormThemeProvider allows to apply themed look to form's non-client area.
Same as TLMDSimpleGradientThemeController, but controls TLMDSimpleGradientExtThemeRenderer.
Drop TLMDThemesGradientThemeController to a form to add MS Office 2007/2010 styled look to LMD controls with native theme mode.
TLMDThemesRibbonAdapter allows to customize look of ribbon control.
This component allows to design easily host applications that can be enhanced by pluggable modules. PluginPack implements plugin framework with flexible architecture: modules can be easily compiled into the host application executable (e.g. for debug purposes, speed/resource usage optimization etc) and detached back with no efforts
TLMDSimplePropInspector allows to use Delphi-like object inspector in your application.
Main component of LMD DockingPack. Add to your applications advanced docking features with docked and floating panels as known from MS applications like Visual Studio!
This control is used to save/restore layout data from/to XML in LMD-DockingPack. It also used to setup visual style related properties.


Description Date Available Files
LMD Universal Installer (Trial)

Universal trials installer - suitable for all LMD 2024 products. Only ~2MB in size - only the files which are required for the selected installation options will be downloaded.

If you need offline installation functionality: Since version 2024.1, zip files with all files for a specific IDE are available (download zip file for your IDE, extract it and run lmdsetup.exe).

Universal installer technology will be the preferred way for future releases. Please send feedback to mail@lmdsupport.com or use our forum.

Installation problems? Read the corresponding LMD Universal Installer Wiki entry.

Versions history

April 2, 2024
LMD IDE-Tools Trial (Old Installer Technology)

Use this installer variant if you encounter problems with the new Universal installer variant. The installers in this section correspond to the installers from previous versions.

LMD IDE-Tools Trial Edition. Includes DesignPack, ScriptPack, SyntaxEdit and IDE integration package. Contains full demo package, please download help files separately.

This is a LMD 2024 release and should not be used at the same time with older release packages. Downloads for XE or older are LMD 2020 installers.

All releases contain 32bit + 64bit support, latest ServicePack required!

Installation problems? Read the corresponding Package Installation Wiki entry.

Terms of use (Trials) / License Agreement / Support Topics

April 2, 2024
LMD IDE-Tools Helpfiles

Helpfiles for LMD IDE-Tools, DesignPack, ScriptPack and SyntaxEdit.
Besides that Tutorials in CHM format for Schemes creation (SyntaxEdit), ScriptPack and DesignPack.

April 2, 2024
LMD IDE-Tools precompiled demos

Please find here several Executables from example projects which demonstrate features of IDE-Tools (IDE Demos) and included standalone packages (Designpack, ScriptPack and SyntaxEdit).

PrintPack Demo: Demo of PrintPack features, which contains support for many LMD VCL controls.

April 2, 2024

© LMD Innovative, Germany. All rights reserved. All other trademarks are acknowledged.