LMD VCL 2020 - News

From LMD
Jump to: navigation, search

<< Back to Getting started page


LMD 2020 Minor releases: LMD 2020 History


Support for IDEs and operating systems

  • Supports any Delphi/C++Builder VCL release version 6 or better (including new Delphi/C++Builder 10.3 Rio).
  • Including 64bit support for XE2 and higher! The next Delphi/C++Builder release will be supported almost immediately after public availability.
  • Supported IDEs
    • Delphi 6 and better
    • C++ Builder 6 and better
    • Delphi 2005.NET - Delphi 2007.NET
    • Turbo (2006) Professional versions for Delphi, C++ and Delphi.NET
    • All corresponding Studio Products (BDS 2006, CRS 2007, CRS 2009, RAD Studio 2010, XE, XE2, XE3, XE4 etc.)
  • Supported operating systems
    • Win2K and better

For recent Delphi/C++Builder releases LMD VCL package support same platforms as the VCL which is included in the IDE (e.g. Delphi 2009 officially supports Win2k or better only). [Top]

Component Installers (code signing)

All component installers are now dual signed with SHA1/SHA2 certificate.

64bit support (Delphi XE2 and higher)

All packages were ported to 64bit. Exception: Compatibility controls (dcllmdlegacy) can not be used in 64bit applications.

Package naming conventions

Sinde LMD VCL 2012 package names have been changed to be more consistent with VCL naming convention. LMD version number and IDE version number were removed from package names. Runtime package names are prefixed now with "lmdrt", design-time package names with "dcllmd". Some examples of generated package file names are: lmdrtdocking.dcp, lmdrtdocking.bpi, lmdrtdocking.lib, dcllmddocking.dcp, dcllmddocking.bpi, dcllmddocking.lib. IDE version suffix is still included in generated "bpl", e.g. lmdrtdocking_260.bpl for Delphi 10.3 Rio.

This change simplifies porting projects (supposed they are compiled with run-time packages) to another IDE version. Since package references contain neither IDE version nor LMD platform version, migrating to a future IDE version requires almost no changes.

LMD 2020 DevUtil

The DevUtil tool was updated (e.g. with Delphi/C++Builder 10.3 Rio support) and improved. It is now easier than ever to switch between different workspaces (sets of component packages), even leaving the current IDE is no longer required!

NG 2020 Complete included in any LMD VCL Major product

All major products (LMD VCL Complete, LMD-Tools, LMD IDE-Tools and LMD ElPack) include full license of NG Complete - our latest and most up-to-date VCL controls. Besides the already known NG ConnectionPack, SerializerPack, HTMLPack, DialogPack and ValidatorPack the brand new NG Drag&DropPack is included, which simplifies Drag&Drop operations within but also outside your projects enormously. [Top]

LMD 2020 Reg Utility

Since 2016 release NG Controls uses same license scheme like LMD VCL product line. Thus you can review on your machine available licenses for both LMD VCL and NG products via the RegUtility. Since version 2013 RegUtility installer copies all files to the %APPDATA%\LMD Innovative folder (instead of system folder in previous releases). As known from previous releases the new reg utilities recognize earlier license files (regardless whether they are stored in system or appdata folder), so that only one reg utility is required for current and previous licenses. [Top]

Free access to Git repositories for LMD VCL Complete / NG Complete 2020 customers!

We moved our sources to new git-based project structure. All VCL/NG Complete 2020 customers receive free access to the Git repositories (based on GitLab). Visit your customer area and use the displayed link in your 2020 license to connect to GitLab. SSO with credentials for customer area is supported). This new feature replaces the old SVN access option, which was a paid add-on. Please note that this is an optional additional way to access sources - like before you can retrieve sources for allof our products via separate source installer. Check also Quick overview for more info. [Top]

New subscription model and new customer area

We received some criticism for our old update policy (especially observing the very fast Embarcadero release cycle and our yearly updates).
Old update policy included free minor updates with same major version number - until next major release was available. We offered only for VCL Complete packages subscription models.
Following changes were introduced with 2016 licenses:

  • Each full- or update purchase includes now a one year subscription (free-of-charge)

This one-year subscription refers to major version updates. If a new major version is released within subscription period, you'll receive automatically new version free of charge. VCL Complete customers will receive even fully new LMD VCL products released in subscription period.

  • Minor updates with same major version number are handled like before:

These updates are always free of charge for all major (products LMD-Tools, ElPack, IDE-Tools, etc.) and standalone packs. These updates are placed in our protected download areas and can be downloaded free of charge - anytime (using your registration utility).

  • What happens when subscription expires?

Subscription period refers only to the right receiving free major version updates.
If your subscription expires, your licenses behaves like before (free minor updates until next major release, perpetual use of the current license).

  • How to renew

Renewals for existing licenses will be applied as extension period to the end of your previous subscription (for example, if your subscription expires 11-Dec-2016, renewing will give you updates until 11-Dec-2017). If your existing subscription has been expired for over three months, you will receive major updates for at least 9 months from the date of renewal. Please note that the term “subscription period” refers to major updates only. As usual product licenses never expire, minor updates with same major version number are always included free of charge and so on.

  • Will I receive notification mails to renew?

We send you notification emails before subscription expires. If you don’t want to receive them, check your profile page and uncheck option “I want to receive mails about my licenses expiration”.

  • Early renewal discounts and update pricing

We honour early renewals. Check your profile page to receive personal offers. Within one year (after subscription period expired) you can renew your subscription for a special renewal rate. After that standard price applies. Upgrade orders (from pre-2016 releases) as known before (to start initial subscription period) will be possible until end of 2016.
To reflect new changes we introduced a new customer area, where customers can review and check license status at one single place.

Package Changes


[+] RAD Studio 10.3.3 Rio support for all main products and packages. New Rad Studio version will be supported immediately after release.
[*] LMD DevUtil updated to support RAD Studio/Delphi/C++ Builder 10.3.3 Rio and better.
[*] Compiled exe-demos are now digitally signed
[*] VCL Styles support has been improved further in LMD-Tools, LMD ElPack, LMD GridPack, LMD IDETools and LMD HtmlPack.
[*] High DPI support has been improved further (beyond LMD DockingPack) using the enhancements in latest Delphi/C++Builder releases
[-] Shared: More x64 compatibility fixes.

LMD Tools

[+] LMD SpellPack support for LMD Edits and LMD Memo controls
[+] New control (on user request): TLMDGlyphPanelFill
[+] TLMDIniCtrl: pAppData/pAppDataLocal identifiers to IniPrefix.
[+] TLMDTextEditDlg: New Width and Height properties.
[+] Full rework of TLMDEdit and TLMDMemo.

  • Internal text handling re-implementation for performance optimization, minor bugs fixing and compatibility with new spelling library. Preparation for Unicode Complex Scripts support.
  • Caret positioning and selection edges positioning bug fixes.
  • Full support of text Alignment (left, right, center) when text is smaller as well as when text is bigger than control's width.
  • A lot of TLMDMaskEdit fixes.
  • Text replacement in db-aware descendant controls for csPaintCopy mode.
  • Context menu re-work (bug fixes).
  • Updated BeginUpdate/EndUpdate behavior, which can defer all text related re-calculations
  • Text layouting reimplementation: correct scroll position (horizontal, especially for long texts), caret and selection edge positions, spell error positions, ect). Besides that performance on long text was dramatically improved.

[-] Many TLMDMaskEdit (and descendants) fixes:

  • Zero TDateTime: |29|/12/1899 - press Up key. Or: 30/|01|/1899 - press Down key.
  • LeapYear issue: 30/|01|/1900 - press Up key.
  • Multi-digit entering partial fix (dep, dep_help): 01/01/|200| - press Left key, then - Right, then any digit. 01/01/|200| - press Up key, then try enter new year value. Same with mouse wheel.
  • Date with custom mask: 'text DD-MM-YYYY text' - try to set caret before first char (should not be possible). Also try to click on second 'text'. Same with time.
  • Year not incremented/decremented when month overflows (up from 12 or down from 1).
  • Escape key: no action in disabled FUserSelect mode (date, time, date-time masks).
  • Dragging disabled in masked mode to allow recovering from SelectAll (Ctrl+A or triple-click).
  • Mouse wheel: only single inc/dec per detent (date, time, date-time masks).
  • Value is reset when DateSettings.Format changed. Same problem with time and date-time.
  • Wrong selection position due to pattern length change: 9:|59| - press Up key. Same with named months.

[-] Many data-aware TLMDEdit and descendants fixes:

  • TLMDHTMLComboBox memory leak bug fix.
  • TLMDColorEdit: drawing improved.
  • TLMDDBMaskEdit: (TLMDDBExtSpinEdit, ect): formatting/parsing of DataLink data improved.
  • TLMDDBEditDBLookup: Control exit without modifications bug fix.
  • TLMDDateTimePicker: Clock drawing memory leaks fixes.
  • ...and many more minor fixes


LMD PrintPack (LMD-Tools, LMD ElPack, LMD IDE-Tools etc.)

[+] Full Rework of user interface

  • DPI support in print preview
  • New icons (100%, 150%, 200%, scaling in between using Windows Imaging).

Print preview in standard (100%) view
Print preview in standard (100%) view
Print preview with 150% scaling
Print preview with 150% scaling

LMD ElPackPack

[*] TElShellList: Speed improvements for display of folders with huge amount of files.

LMD DockingPack

[+] Source code of DockingStyleEditor is now included in source code version
[*] Various improvements for high-dpi support
[-] Invalid font size in floating forms in high-dpi mode. Fixed.
[-] Mouse capture loss workaround (based on timer).

LMD RichPack

[-] TLMDRichEdit: Custom HyperLink feature re-enabled again
[-] TLMDRichLabel: Custom HyperLink feature re-enabled again

LMD SearchPack

[-] Additional TLMDRefine Unicode related bug fixes.

LMD ShellPack

[-] TLMDStarter close handle related bug fix.

LMD SpellPack (New, Rad Studio XE2 and higher)

[+] TLMDSpellChecker component, supports *.oxt dictionary files, multiple dictionaries can be active at the same time.
[+] Adaptive dictionary reordering to optimize spell ckecking performance.
[+] Spell, Suggest, Analize, Stem, Hyphenate methods for word processing.
[+] Saving/Loading of dictioaries config into stream, file (ini-file) or registry using SaveConfig, LoadConfig methods.
[+] Live spelling supported in TLMDEdit, TLMDMemo, TLMDEditView (syntax edit). SpellObject published property in controls to allow spell related options to be specified. Standard TEdit, TMemo - pending.
[+] LMDEnableSpell, LMDDisableSpell, LMDTryGetSpellObject global functions.
[+] Live spelling support spell error hiding using strategy similar to Google (gmail, youtube).
[+] TLMDSpellConfigDialog dialog for managing dictionary files, and opne/close dictionaries. Works also at design-time.
[+] TLMDSpellScanDialog dialog for organizing full document of form syntax check using custom UI. Supports multiple controls (form with edits).
Live spell check in LMD edit and memo controls
Live spell check in LMD edit and memo controls
Extended context menu with suggestions
Extended context menu with suggestions
Settings dialog
Settings dialog

LMD SyntaxEdit

[+] LMD SpellPack support for LMD SyntaxEdit
Spell check for comments
Spell check for comments
Context menu
Context menu
Context menu extended
Context menu extended

Changes/Enhancements since initial LMD VCL 2019 release


[*] More accurate design-time dialogs theming for Delphi 10.3. Including full re-layouting:

  • LMD Tools
  • LMD GridPack
  • LMD RtfPack
  • LMD ShellPack
  • LMD SysPack
  • LMD SearchPack
  • LMD BarPack
  • LMD StoragePack
  • LMD FxPack
  • LMD ChartPack

[*] Themed design-time dialogs for Delphi 10.3 have beend implemented. This include LMD-Config and About dialogs, LMD ScriptPack Importer Wizard and Batch Importing form, and more common design-time editors.
[*] Forms (DFMs) compatibility with older Delphi version (Delphi 6) rework.
[-] LMDCabDeCompress - x64 bug fix.
[-] Shared: x64 compatibility fixes.


[+] TLMDToolBar: DPI scaling of buttons.
[+] TLMDStatusBar: OS and VCL-Styles visual appearance improvements.
[+] TLMDStatusBar: new panel kinds: spCapsLock, spNumLock, spScrollLock, spDateTime.
[+] TLMDStatusBar: Data-aware panels: spDBState, spDBField.
[+] TLMDExplorerBar: StyleElements support have been added.
[+] TLMDFontSizeComboBox: new FontSizes property in which a comma separated list of custom font sizes can be specified.
[+] New Timeout (in milliseconds, zero - means no timeout) property and OnTimeout event (allow to redefine timeout ModalResult, including mrNone support) for TLMDInputDlg component.
[+] Added support for Detect Windows Server 2019 in LMDSysIn unit.
[+] LMD-Tools: RAD Studio 10.3 IDE theme support for additional component and property editors
[+] TLMDDatePicker and some other controls: button captions localization (Ok, Cancel, Today, ect).
[*] TLMDStatusBar: OldStyle property is no longer default property (but can be enabled when required).
[-] TLMDStatusBar: db-filtered state bug fix.
[-] TLMDStatusBar: Refreshing control after Panel.Bevel change bug fix.
[-] TLMDSpeedButton & TLMDButton vitual image list workaround.
[-] Styleelements property is published for several label controls.
[-] TLMDFormOpenDialog: Selection of muliple files with spaces in names bug fix.
[-] TLMDFormOpenDialog: VCL Styles related bug fix.
[-] TLMDSpeedButton and TLMDToolBar: glyph related bug fixes (in cases when image is provided by linked Action).
[-] TLMDButton: Glyph related bug fix.
[-] TLMDSpeedButton: Glyph related bug fix.
[-] TLMDPageControl: Vertical tabs text and background drawing fixes (using Styles).
[-] Minor fixes for MegaDemo.
[-] TLMDPNGImageList design-time editor bug fix: incorrect images drawing in images list.
[-] LMDProgressBar: Bevel.StyleOuter default value dfm saving bug fix.
[-] TLMDComboBoxExt disabled button look bug fix.

LMD BarPack

[+] VCL Styles support for TLMDButtonBar, TLMDExplorerBar, TLMDSectionBar.
[+] VCL Style support in demos.
[-] TLMDExplorerBar scroll bar bug fixes.

LMD DockingPack

[+] Pin/Unpin context menu items in dock-panel component editor.
[-] DockingPack: RAD Studio 10.3 designtime bug fix (pin/unpin/close buttons behavior).
[-] Child controls handle recreation bug fix.
[-] Floating forms maximization in high DPI multi-monitor systems bug fix.
[-] Floating dockpanel doesn't resize correct (multi monitor DPI) bug fix.
[-] AV (EurekaLog) bug fix.

LMD GridPack

[*] Fixes for OnClick/OnDblClick events. OnClick event no more denote current row/column change (use OnChange event instead).
[-] Lookup chooser automatic selection bug fix (in auto-generateed columns).
[-] The bug, releated to opRangeSelected option has been fixed.
[-] Scrollbar: bug fix (DataSet.Active := False; DataSet.Active := True).
[-] TLMDDBGrid: DPI scaling bug fix.

LMD RichPack

[+] Resource strings for changing dialog and button captions of TPicture property editor dialog.
[*] TLMDRichSyntaxEdit: Syntax highlighting bug fix.
[-] Rich editor design-time dialog bug fixes.
[-] Syntax highlighting bug fixes in rtf syntax editor.

LMD SearchPack

[-] TLMDRefine search Unicode related bug fix.

LMD ElPack

[+] TElDateTimePicker: New UnassignedText property.
[+] TElCurrencyEdit, TElFloatSpinEdit: New DecimalSeparator and UseSystemDecimalSeparator properties have been added.
[*] Loading old HeaderSections (from dfm) bug workaround.
[-] TElCheckItem small bug fix.
[-] TElDateTimePicker: Bold/Italic font styles layouting bug fix.
[-] TElCellCheckBox: long text clipping bug fix.
[-] Html controls OL numbers background bug fix.
[-] ElXTree small owner-draw bug fix.
[-] TElShellList: New OnExecute event for custom item execution.
[-] TElShellComboBox: RefreshItems method has been added.
[-] VCL styles related TElPanel border drawing bug fix.
[-] ElXTree.HeaderSections.BeginUpdate doesn't prevent the tree from updating on the screen bug fix.
[-] ElTree item editor color combo boxes bug fix.
[-] ElTree: Small bug fix.
[-] ElTree: Line height calculation bug fix (Important for high DPI).
[-] ElMemo scrollbars drawing bug fix.
[-] TCrMD5.MD5_Hash_File works only if file isn't read-only bug fix.
[-] Wrong popup menu positioning on multimonitor systems bug fix.


[+] TPicture property editor.
[+] New ClipboardOptions property in designer, which allow to disable cut/copy/paste operations.

LMD InspectorPack

[+] TPicture property editor (editor as demonstrated in demoproject was moved into package and is now registered by default).

LMD SyntaxEdit

[-] Dialogs DPI bug fixes (e.g. Find/Replace dialog).
[-] Addict related performance issue fix.
[-] #pragma link "usp10.lib" for Uniscribe library linking in C++.
[-] Small Html scheme bug fix (dash symbol in tags).
[-] Small Html scheme related bug fix (</script> closing tag coloring).
[-] SyntaxEdit: CSS syntax scheme bug fix.

LMD ScriptPack

[*] Importer files for 10.3 (Rio) updated.
[-] x64 related modifications.
[-] Global const memory leak bug fix.