LMD VCL 2019 - News

From LMD
Jump to: navigation, search

<< Back to Getting started page

[edit]

LMD 2019 Minor releases: LMD 2019 History

General

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.
[Top]

64bit support (Delphi XE2 and higher)

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

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.
[Top]

LMD 2019 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!
[Top]

NG 2019 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 2019 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 2019 customers!

We moved our sources to new git-based project structure. All VCL/NG Complete 2019 customers receive free access to the Git repositories (based on GitLab). Visit your customer area and use the displayed link in your 2019 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.
[Top]


Package Changes

General

[+] RAD Studio 10.3 Rio support for all main products and packages
[*] LMD DevUtil updated to support RAD Studio/Delphi/C++ Builder 10.3 Rio
[*] VCL Styles support has been improved further in LMD-Tools, LMD ElPack, LMD GridPack, LMD IDETools amd LMD HtmlPack.
[*] High DPI support has been improved further (beyond LMD DockingPack) using the enhancements in latest Delphi/C++Builder releases
[*] Support for IDE Themes in Delphi/C++Builder 10.2.2 and better. In previous Delphi release light and dark theme were added and we began to support those with our designtime editors:

LMD VCL settings in dark theme
LMD VCL settings in dark theme

LMD string property editor in light theme
LMD string property editor in light dark theme
LMD ScriptPack import in dark theme
LMD ScriptPack import in dark theme
[Top]

HTML Controls (LMD-Tools and LMD ElPack)

All HTML controls now support the following events:

  • OnImageNeeded (old version with TBitmap parameter available for LMD ElPack only)
  • OnImageNeededEx (new version with TPicture parameter for LMD HTML render engine, now also available in ElPack)
  • OnVariableNeeded
  • OnTagFound

Besides that all controls (except exotic ones like menus, hints - in which support is limited, e.g. no popup-menu) support link properties (which spcecifiy appearance or additional link features):

  • TLMDBarHTMLLabel.LinkColor
  • TLMDBarHTMLLabel.LinkPopupMenu
  • TLMDBarHTMLLabel.LinkStyle

[Top]

LMD Tools

[+] Published Html related properties and events:

  • TLMDWideLabel.OnVariableNeeded
  • TLMDWideLabel.OnTagFound
  • TLMDHTMLListBoxExt.OnTagFound
  • TLMDHTMLListBox.OnTagFound
  • TLMDHTMLExtListBox.OnTagFound
  • TLMDHTMLLabel.LinkColor
  • TLMDHTMLLabel.LinkStyle
  • TLMDHTMLLabel.LinkPopupManu
  • TLMDHTMLHeaderControl.OnTagFound
  • TLMDHTMLComboBox.OnTagFound
  • TLMDCustomHTMLHint.OnTagFound
  • TLMDCustomHTMLHint.LinkColor
  • TLMDCustomHTMLHint.LinkStyle
  • TLMDBarHTMLLabel.LinkColor
  • TLMDBarHTMLLabel.LinkPopupMenu
  • TLMDBarHTMLLabel.LinkStyle
  • TLMDBarHTMLLabel.OnImageNeeded
  • TLMDBarHTMLLabel.OnVariableNeeded
  • TLMDBarHTMLLabel.OnLinkClick
  • TLMDBarHTMLLabel.OnTagFound
  • TLMDBarHTMLLabel.OnControlCreated
  • TLMDBarHTMLLabel.OnAdjustControlPosition

[*] TLMDDatePicker and some other controls: button captions localization (Ok, Cancel, Today, ect).
[*] TLMDComboBox: Color property support. Frame and button visual improvements.
[Top]

LMD ElPack

[+] Published Html related properties and events:

  • TElHeader.OnVariableNeeded
  • TElHeader.OnTagFound
  • TElXHeader.OnVariableNeeded
  • TElXHeader.OnTagFound
  • TElHTMLListBox.OnImageNeededEx
  • TElHTMLListBox.OnTagFound
  • TElHTMLComboBox.OnImageNeededEx
  • TElTree.OnVariableNeeded
  • TElTree.OnTagFound
  • TElXTree.OnVariableNeeded
  • TElStatusBar.OnImageNeededEx
  • TElStatusBar.OnVariableNeeded
  • TElStatusBar.OnTagFound
  • TElPopupButton.OnImageNeededEx
  • TElPopupButton.OnVariableNeeded
  • TElPopupButton.OnTagFound
  • TElGraphicButton.OnImageNeededEx
  • TElGraphicButton.OnVariableNeeded
  • TElGraphicButton.OnTagFound
  • TElGroupBox.OnImageNeeded
  • TElGroupBox.OnImageNeededEx
  • TElGroupBox.OnVariableNeeded
  • TElGroupBox.OnTagFound
  • TElCheckItem.OnImageNeededEx
  • TElCheckItem.OnVariableNeeded
  • TElCheckItem.OnTagFound
  • TElHtmlView.OnImageNeededEx

[*] ElTree modifications for high dpi support
[*]TElCheckbox/TElRadioButton: Transparent mode is now enabled automatically when VCL Styles are turned on.
[Top]

LMD IDE-Tools

[+] OnComponentInsertedEx event has been added which provides a reference for inserted component.
[Top]

Changes/Enhancements since initial LMD VCL 2018 release

All packages

[*] Component installers are now dual signed (SHA1/SHA2)
[Top]

LMD-Tools

[+] TLMDCheckListComboBox: IntValue property has been added which is similar to TLMDCheckListBox.Value property.
[*] TLMDCheckListBox: Use all 64 bits in Value property.
[*] TLMDComboBox: Color property support in Themed/Styled scenarions (including StyleElements seClient support).
[*] TLMDComboBox: Frame and button visual improvements.
[-] TLMDPNGImageList: Design-time editor Cut/Copy/Paste bug fix.
[-] TLMDCalendarComboBox: Accept selected date bug fix.
[-] LMDXXXComboBox.Items (protected in latest Delphi versions) bug fix.
[-] TLMDDBDateTimePicker: manual date writing bug fix.
[-] LMDPNGImage: ByteSwap bug fix.
[-] LMDXML: Small exception formatting bug has been fixed.
[-] TLMDCustomCheckListBox: SelectedFontColor bug fix.
[-] TLMDCheckListBox: Memory leak in bug has been fixed.
[Top]

LMD ElPack

[-] TElDateTimePicker/TElCalendarDialog: Format string parsing bug fix.
[-] TElCheckbox/TElRadioButton: Transparent mode is now enabled automatically when VCL Styles are turned on.
[-] Small ElTree bug fix.
[-] ElXTree multi-selection bug fix: The code will un-select rows on left mouse button click (this is required, becouse otherwise there will be no ways to unselect rows after selecting all rows), but will preserve selection on right mouse button click on selected rows (for context menu, for example).
[-] Bug fix: Wrong scalling of TElCheckBox when using TLMDTaskDialog as first Dialog.
[-] ElTree: Wrong processing of Drag&Drop in some special cases bug fix.
[-] TElXTree: Invalid check-box state drawing (ThemeMode = ttmNone, Checked TElXCellCheckbox, enabled := false) bug fix.
[-] TElTree: Small HTML related bug fix.
[-] ElCheckBox: Small drawing fix.
[-] ElPageControl: Drawing Enabled Tab with some disabled Tabs has been fixed in.
[-] TElDateTimePicker "control has no parent window" bug fix.
[-] ElTree, ElXTree: Printing and Previewing from ElXTree results in a right-truncated field bug fix.
[-] ElXTree: ElInplaceEditor raises Contol 'has no parent window' bug fix.
[Top]

LMD IDE-Tools

[*] TLMDPropertyInspector: Modified property value stay as is after property setter exception handling.
[*] TLMDPropertyInspector: Property value text is selected (SelectAll) after property setter exception handling.
[-] TLMDPropertyInspector: Double property value assignment in case of exception in the property setter bug fix.
[-] TLMDPropertyInspector: Inplace editor visibility switching on Enter key press bug fix.
[-] TLMDDesigner: OnComponentInsertedEx event has been added which provides a reference for inserted component.
[-] FormDesigner demo bug fix.
[Top]

LMD DockingPack

[+] Dpi support of predefined scale factors: 100, 125, 150, 175, and 200%. The code searches for closest one.
[+] Works in latest Delphi versions (Delphi 10.1 and up), because only these we have general ability to declare application as DPI aware; and also, some VCL built-in functionality, like ScaleForPPI virtual method, FCurrentDpi field, ect.
[+] Sizes defined in style, like caption height, buttons sizes are scaled, as well, image based elements like button icons.
[+] Most borders, splitter widths, ect are NOT scaled to be consistent with the look of some common applications, like File Explorer, Google Chrome, ect.
[+] Panel sizes in hors/vert split zones inside layout are scaled (width or height) when appropriate. Forms, including floating forms are scaled by Delphi itself without any explicit support from package code.
[+] Current layout Dpi is saved while layout saving to allow correct re-scaling of loaded layout on a system with different DPI.
[+] Style editor enchancements: support for dynamic-colors, Dpi integers and margins, ect.
[+] Consistent with latest Delphi scaling; support TForm.Scaled property, FCurrentDpi, ect.
[Top]

LMD DialogPack

[-] JSDialog: Invalid dialog form width calculation in case of active VCL Style bug has been fixed.
[Top]

LMD GridPack

[+] Row checking feature added. Row checks are shown directly inside indicator column.
[+] New opShowRowChecks option for showing hiding row check-boxes.
[+] New CheckIndicatorWidth, CheckedCellBgColor, CheckedCellTextColor properties in Grid.Style object. Color properties can be set to clNone to preserve default cell colors.
[+] New IsRowChecked[Index: Integer] property for simple (non db-aware) grid. Row checks are stored internally in default data store.
[+] New OnGetRowChecked/OnSetRowChecked events for db-aware grid. Row checks should be stored externally (dictionary can be used, for example).
[+] Column.HeaderHint property has been added, which allow to show column description hints when mouse cursor is over header cells. Grid's ShowHint standard property should be set to True.
[+] Updating of inplace editor value when data is changed from outside has been implemented (dataset refresh, change by another DB control).
[+] SelectAll in text cell editor has been added (activating inplace editor via clicking; moving current cell by arrow keys; pressing Enter or F2 keys).
[+] SelectAll in text cell editor has been added (when shifting focus from another control on the form via standard Tab/Shift+Tab keys; also no text selection when editor was already focused via mouseclick)
[+] Placing cursor at the end of text on memo chooser showing.
[+] SelectAll in inplace editor after chooser hiding (on apply and cancel).
[*] Updated demo (row check-boxes feature).
[*] Selection extending (click and move mouse over data cells) no longer supported in single cell selection mode (without opRangeSelect).
[*] TLMDDbGrid: opRangeSelect is no longer supported in data-aware grid. Exception will be raised on attempt to specify the option.
[*] Enter key behavior in text inplace editor has been improved (SelectAll; deselect); especially important for AlwaysShowEditor mode.
[*] Home/End keys behavior in text inplace editor has been improved (first key press will move cursor to the text begin/end correspondingly and will de-select possibly selected text, while the second key press will move focus to first/last column in the grid); especially important for AlwaysShowEditor mode.
[*] Tab/Shift+Tab key behavior has been changed (no more cycling between first and last positions; row appending when pressing tab key on the last cell of the last row; another row appending from modified appending row).
[*] Chooser now displays automatically starting from the current inplace edit value, not the current cell value.
[-] DBGrid: interoperation with connected dataset bugs have been fixed (switching focus to/from other db-contols connected to the same dataset; external dataset modification; inplace editor "modified" reporting in correct times; and many more issues have been fixed).
[-] Tab cell navigation bug has been fixed (inplace editor spontaneous showing/hiding).
[-] Canceling new un-modified row bugs have been fixed (via clicking on another row, via Up/Down key press, via Tab/Shift+Tab key press)
[-] Column re-ordering (via dragging) bug has been fixed.
[-] Ctrl+BackSpace key action has been deprecated. No more data editing without visible inplace editor.
[-] Text formatting sub-system and user events now really works with text only, using Variant to String (and vs) types.
[-] Setting opShowRowChecks option without columns bug fix.
[-] Non-visible columns bug fixes.
[-] OnDblClick event bug fix.
[-] TLMDDbGrid: Wrong current record after DataSet.Post bug fix.
[-] TLMDDBGrid: Lookup chooser bug fix.
[-] TLMDGrid: Re-filling grid with new data in sorted state bug fix.
[Top]

LMD RichPack

[-] TLMDRichEdit: OnChange/Modified while handle recreation bug fix.
[Top]

Archive

[Top]