Difference between revisions of "LMD VCL 2021 - News"
(→LMD DockingPack) |
m |
||
(39 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
=== Support for IDEs and operating systems === | === Support for IDEs and operating systems === | ||
Major change: | Major change: | ||
− | * Supports any Delphi/C++Builder VCL release version XE2 or better (including new Delphi/C++Builder | + | * Supports any Delphi/C++Builder VCL release version XE2 or better (including new Delphi/C++Builder 11 Alexandria release). |
* 64bit support for all releases! | * 64bit support for all releases! | ||
* Supported IDEs | * Supported IDEs | ||
Line 16: | Line 16: | ||
=== Installers === | === Installers === | ||
− | * New extended | + | * New extended compatibility package which includes parts of LMD VCL which were moved to legacy package (LMD TextPack, LMD XML etc.) |
* NG Packages are now integrated into LMD installers. There are no separate NG installers any longer. | * NG Packages are now integrated into LMD installers. There are no separate NG installers any longer. | ||
* Demo projects are now stored in commpon documents folder (not in main folder like in previous releases) | * Demo projects are now stored in commpon documents folder (not in main folder like in previous releases) | ||
Line 29: | Line 29: | ||
=== Package naming conventions === | === Package naming conventions === | ||
− | + | Since 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. | 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. | IDE version suffix is still included in generated "bpl", e.g. lmdrtdocking_260.bpl for Delphi 10.3 Rio. | ||
Line 49: | Line 49: | ||
=== Free access to Git repositories for LMD VCL Complete === | === Free access to Git repositories for LMD VCL Complete === | ||
− | We moved our sources to new git-based project structure. All VCL Complete 2021 customers receive free access to the Git repositories (based on GitLab). Visit your customer area and use the displayed link in your | + | We moved our sources to new git-based project structure. All VCL Complete 2021 customers receive free access to the Git repositories (based on GitLab). Visit your customer area and use the displayed link in your 2021 license to connect to GitLab. SSO with credentials for customer area is supported). |
Check also [https://www.lmd.de/gitrepositories Quick overview] for more info. | Check also [https://www.lmd.de/gitrepositories Quick overview] for more info. | ||
{{Top}} | {{Top}} | ||
Line 74: | Line 74: | ||
== Package Changes == | == Package Changes == | ||
=== General === | === General === | ||
− | * Compiler version switches related to old IDEs were removed. Related source code was simplified and performance was optimized to new compiler features. | + | * Compiler version switches related to old IDEs were removed. Related source code was simplified and performance was optimized to new compiler features. Find here updated compiler [[LMD 2021 - Compiler Switches|switch reference]]. |
* Support of old non-Unicode IDE versions was removed. | * Support of old non-Unicode IDE versions was removed. | ||
** TLMDString is replaced with string. | ** TLMDString is replaced with string. | ||
Line 82: | Line 82: | ||
* LMD Xml implementation - moved to legacy. Delphi's Xml is used instead. No longer installed by default in compiled installers. Activate the Extended Compatibility Package when you still need this feature. | * LMD Xml implementation - moved to legacy. Delphi's Xml is used instead. No longer installed by default in compiled installers. Activate the Extended Compatibility Package when you still need this feature. | ||
* LMD PNG implementation is removed. Delphi's PNG support is used instead. | * LMD PNG implementation is removed. Delphi's PNG support is used instead. | ||
+ | * Please read [[LMD VCL - Updating Projects|Updating existing projects]] to learn how to update existing projects to LMD VCL 2021. | ||
+ | |||
+ | === Common Property Editors === | ||
+ | |||
+ | The following optional common property editors has been reworked: | ||
+ | |||
+ | Font, Brush, TLMDGradient, TLMDFillObject. | ||
+ | |||
+ | [[File:Изображение_2021-03-10_131429.png]]<br> | ||
+ | |||
+ | [[File:BrushGradFill_2021-03-10_131801.png]]<br> | ||
=== Demo Projects === | === Demo Projects === | ||
+ | * Project files for all demo projects were reworked. Now dproj file is provided for every Delphi demo, and cbproj file - with every C++ Builder demo. | ||
+ | * Outdated BDE demos were replaced by newer db technologies (e.g. TClientDataSet) | ||
+ | * Public download area support serveral new precompiled demo projects (AnyLogger, democenter etc.) | ||
+ | * Introduction of new democenter (for now supporting many LMD-Tools controls, will be extended to to other packages): | ||
[[File:Lmddemocenter3.png]]<br> | [[File:Lmddemocenter3.png]]<br> | ||
Line 116: | Line 131: | ||
* TLMDCheckBox | * TLMDCheckBox | ||
* TLMDRadioButton | * TLMDRadioButton | ||
+ | For detailed description check also [[LMD VCL - Glyph Transparency|Glyphs transparency support]]<br><br> | ||
[+] New TLMDFontImageList component and editors:<br> | [+] New TLMDFontImageList component and editors:<br> | ||
* 32-bit alpha transparency. | * 32-bit alpha transparency. | ||
Line 292: | Line 308: | ||
[*] LMD DevUtil (LMD GIT user only): Enhanced file error messages<br> | [*] LMD DevUtil (LMD GIT user only): Enhanced file error messages<br> | ||
[*] DevUtil design update.<br> | [*] DevUtil design update.<br> | ||
+ | [-] General improved VCL Styles support (e.g. by workaround for VCL DrawThemedText bug). | ||
− | === LMD | + | === LMD Tools === |
+ | [+] New TLMDGlyphPanelFill control.<br> | ||
+ | [+] TLMDBiTrackBar: New property DiapasonMargin published<br> | ||
+ | [+] TLMDCaptionPanel: New ThemePane property.<br> | ||
+ | [+] TLMDDBMaskEdit: New published CurrencySettings, DateSettings and TimeSettings properties<br> | ||
+ | [+] TLMDIniCtrl: pAppData/pAppDataLocal identifiers to IniPrefix.<br> | ||
[+] TLMDInputDialog: Autosizing (when Width = 0), new PromptPos, EditWidth and MinEditWidth properties. Dialog layouting reimplementation.<br> | [+] TLMDInputDialog: Autosizing (when Width = 0), new PromptPos, EditWidth and MinEditWidth properties. Dialog layouting reimplementation.<br> | ||
+ | [+] TLMDLight: New InactiveLightColor property (defaults to lcNone for backward compatibility).<br> | ||
[+] TLMDTextEditDlg: New CustomButtonWidth property.<br> | [+] TLMDTextEditDlg: New CustomButtonWidth property.<br> | ||
− | |||
− | |||
[+] TLMDTextEditDlg: New Width and Height properties.<br> | [+] TLMDTextEditDlg: New Width and Height properties.<br> | ||
+ | [+] TLMDTrackBar: New unthemed Flat thumb style.<br> | ||
+ | [*] LMDVistaDialogs: disabling VCL Styles (like it's done in Delphi).<br> | ||
[-] TLMDComboBox: button width bug fix (high DPI).<br> | [-] TLMDComboBox: button width bug fix (high DPI).<br> | ||
[-] LMD-Edit: SelStart reset bug fix (enter via tab into mask-edit case).<br> | [-] LMD-Edit: SelStart reset bug fix (enter via tab into mask-edit case).<br> | ||
Line 306: | Line 329: | ||
[-] TLMDObjectStorage component editor bug fix.<br> | [-] TLMDObjectStorage component editor bug fix.<br> | ||
[-] TLMDBevel bug fixes: minor drawing correstions, control invalidation (TLMDCustomBevelPanel and descendants), bevel assignment fix (design-time).<br> | [-] TLMDBevel bug fixes: minor drawing correstions, control invalidation (TLMDCustomBevelPanel and descendants), bevel assignment fix (design-time).<br> | ||
+ | [-] TLMDFillObject: AlphaLevel property setter fix.<br> | ||
[-] TLMDObjectStorage component editor bug fix.<br> | [-] TLMDObjectStorage component editor bug fix.<br> | ||
[-] DPI bug fix in TLMDWindowListDlg.<br> | [-] DPI bug fix in TLMDWindowListDlg.<br> | ||
[-] Unicode related fixes for TLMDCSV2DBImport.<br> | [-] Unicode related fixes for TLMDCSV2DBImport.<br> | ||
[-] LMDButtonBar: Section.Layout (ignored previously, now works)<br> | [-] LMDButtonBar: Section.Layout (ignored previously, now works)<br> | ||
− | [-] | + | [-] TLMDInputDlg focused control bug fix.<br> |
+ | [-] TLMDCaptionPanel: Many visual appearance and layouting fixes.<br> | ||
+ | [-] TLMDCaptionPanelGroup: Many visual appearance and layouting fixes.<br> | ||
+ | [-] TLMDTextEditDlg: dfm reading bug fix.<br> | ||
+ | [-] TLMDBaseMeter: Sub method bug fix.<br> | ||
+ | [-] TLMDProgress: Color property default value bug fix.<br> | ||
+ | [-] TLMDBiTrackBar: Range constraining logic fixes for position related properties.<br> | ||
+ | [-] TLMDBiTrackBar: Drawing related fixes.<br> | ||
+ | [-] TLMDTrackBar: Unthemed Standard thumb drawing fixes.<br> | ||
+ | [-] TLMDTrackBar: Themed drawing related fixes (wrong pressed and disabled states fixed)<br> | ||
+ | [-] TLMDTrackBar: Range constraining logic fixes for position related properties.<br> | ||
+ | [-] TLMDTrackBar: Custom thumb logic (bitmap, image-list) fixes.<br> | ||
+ | [-] TLMDTrackBar: 32-bit transparency support for custom thumb.<br> | ||
=== LMD ElPack === | === LMD ElPack === | ||
[*] TElShellList: Speed improvements for display of folders with huge amount of files.<br> | [*] TElShellList: Speed improvements for display of folders with huge amount of files.<br> | ||
[-] ElXTree: Mouse wheel bug fix (when UseCustomScrollBars = False)<br> | [-] ElXTree: Mouse wheel bug fix (when UseCustomScrollBars = False)<br> | ||
+ | [-] ElXTree: Cells custom draw clipping bug fix.<br> | ||
[-] TElDbButtonEdit.ReadOnly bug fix.<br> | [-] TElDbButtonEdit.ReadOnly bug fix.<br> | ||
[-] TElListBoxStrings.Assign bug fix.<br> | [-] TElListBoxStrings.Assign bug fix.<br> | ||
+ | [-] TEIPopupButton: VCL Styles glyph/text layouting bug fix.<br> | ||
+ | [-] ElPageControl: VCLStyles tab layouting bug fix.<br> | ||
+ | [-] The fix which prevents saving empty values of StyleName property into dfm.<br> | ||
+ | [-] TElMenu: DPI fixes.<br> | ||
+ | [-] ElMemo: Lines.Text bug fix, which affected dfms.<br> | ||
=== LMD IDE-Tools === | === LMD IDE-Tools === | ||
[+] TLMDComponentBar: New Page.Visible property.<br> | [+] TLMDComponentBar: New Page.Visible property.<br> | ||
− | [-] | + | [-] Small x64 compatibility fix (TLMDPicturePropEditor). <br> |
+ | [-] Memory leak fix.<br> | ||
=== LMD ScriptPack === | === LMD ScriptPack === | ||
Line 332: | Line 375: | ||
[+] New TLMDDockSite.AutoHideOptions property with [ahoShowOnClick, ahoShowOnHover] options.<br> | [+] New TLMDDockSite.AutoHideOptions property with [ahoShowOnClick, ahoShowOnHover] options.<br> | ||
[+] New OnActiveChanged event for dock panels and dock manager.<br> | [+] New OnActiveChanged event for dock panels and dock manager.<br> | ||
+ | [+] New TLMDDockPanel.IsDocked and TLMDDockPanel.IsFloating properties.<br> | ||
+ | [*] Dpi scaling performance improvements.<br> | ||
[-] Mouse capture loss workaround (based on timer).<br> | [-] Mouse capture loss workaround (based on timer).<br> | ||
[-] Invalid font size in floating forms in high-dpi mode. Fixed.<br> | [-] Invalid font size in floating forms in high-dpi mode. Fixed.<br> | ||
Line 337: | Line 382: | ||
[-] FinalizeDIB bug fix.<br> | [-] FinalizeDIB bug fix.<br> | ||
[-] x64 compatibility fix.<br> | [-] x64 compatibility fix.<br> | ||
+ | [-] CM_RELEASE related Delphi 10.4.2 workaround.<br> | ||
=== LMD ShellPack === | === LMD ShellPack === | ||
Line 342: | Line 388: | ||
[-] TLMDStarter close handle related bug fix.<br> | [-] TLMDStarter close handle related bug fix.<br> | ||
[-] New folder renaming mode bug fix.<br> | [-] New folder renaming mode bug fix.<br> | ||
+ | [-] Invalid position of shell context menu on multi-monitor system bug fix.<br> | ||
=== LMD WebPack === | === LMD WebPack === | ||
Line 349: | Line 396: | ||
[-] TLMDRichLabel internal AV bug fix (FastMM 5, VCLStyles, Align)<br> | [-] TLMDRichLabel internal AV bug fix (FastMM 5, VCLStyles, Align)<br> | ||
+ | |||
+ | === LMD FxPack === | ||
+ | |||
+ | [-] Minor fixes.<br> | ||
{{Top}} | {{Top}} | ||
+ | |||
+ | === NG Serialization === | ||
+ | |||
+ | [*] Unsupported type error will no longer be raised at the application startup time. Instead it has been moved to the actual serialization/deserialization time.<br> | ||
+ | |||
+ | === NG DialogPack === | ||
+ | |||
+ | [+] New Width property for task and input dialogs.<br> | ||
+ | |||
+ | === NG ConnectionPack === | ||
+ | |||
+ | [+] Google services update.<br> | ||
+ | [+] New Google services:<br> | ||
+ | * TNGGAccessApproval (An API for controlling access to data by Google personnel.) | ||
+ | * TNGGAccessContextManager (An API for setting attribute based access control to requests to GCP services.) | ||
+ | * TNGGAdExchangeBuyer2 (Accesses the latest features for managing Authorized Buyers accounts, Real-Time Bidding configurations and auction metrics, and Marketplace programmatic deals.) | ||
+ | * TNGGAdMob (The AdMob API allows publishers to programmatically get information about their AdMob account.) | ||
+ | * TNGGAdSenseHost (Generates performance reports, generates ad codes, and provides publisher management capabilities for AdSense Hosts.) | ||
+ | * TNGGAlertCenter (Manages alerts on issues affecting your domain.) | ||
+ | * TNGGAndroidPublisher (Lets Android application developers access their Google Play accounts.) | ||
+ | * TNGGApigee (Use the Apigee API to programmatically develop and manage APIs with a set of RESTful operations. Develop and secure API proxies, deploy and undeploy API proxy revisions, monitor APIs, configure environments, manage users, and more. Get started using the APIs. *Note:* This product is available as a free trial for a time period of 60 days.) | ||
+ | * TNGGBigQueryConnection (Allows users to manage BigQuery connections to external data sources.) | ||
+ | * TNGGBigQueryReservation (A service to modify your BigQuery flat-rate reservations.) | ||
+ | * TNGGBigTableAdmin (Administer your Cloud Bigtable tables and instances.) | ||
+ | * TNGGBinaryAuthorization (The management interface for Binary Authorization, a system providing policy control for images deployed to Kubernetes Engine clusters.) | ||
+ | * TNGGChat (Enables bots to fetch information and perform actions in Hangouts Chat.) | ||
+ | * TNGGCloudAsset (The cloud asset API manages the history and inventory of cloud resources.) | ||
+ | * TNGGCloudBuild (Creates and manages builds on Google Cloud Platform.) | ||
+ | * TNGGCloudidentity (API for provisioning and managing identity resources.) | ||
+ | * TNGGCloudkms (Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications.) | ||
+ | * TNGGCloudprofiler (Manages continuous profiling information.) | ||
+ | * TNGGCloudScheduler (Creates and manages jobs run on a regular recurring schedule.) | ||
+ | * TNGGCloudSearch (Cloud Search provides cloud-based search capabilities over G Suite data. The Cloud Search API allows indexing of non-G Suite data into Cloud Search.) | ||
+ | * TNGGComposer (Manages Apache Airflow environments on Google Cloud Platform.) | ||
+ | * TNGGContainerAnalysis (An implementation of the Grafeas API, which stores, and enables querying and retrieval of critical metadata about all of your software artifacts.) | ||
+ | * TNGGContent (Manage your product listings and accounts for Google Shopping) | ||
+ | * TNGGDataCatalog (A fully managed and highly scalable data discovery and metadata management service.) | ||
+ | * TNGGDataStore (Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.) | ||
+ | * TNGGDiscovery (Provides information about other Google APIs, such as what APIs are available, the resource, and method details for each API.) | ||
+ | * TNGGDisplayVideo (Display & Video 360 API allows users to manage and create campaigns and reports.) | ||
+ | * TNGGDocs (Reads and writes Google Docs documents.) | ||
+ | * TNGGDomainsrdap (Read-only public API that lets users search for information about domain names.) | ||
+ | * TNGGDriveActivity (Provides a historical view of activity in Google Drive.) | ||
+ | * TNGGFactCheckTools | ||
+ | * TNGGFcm (FCM send API that provides a cross-platform messaging solution to reliably deliver messages at no cost.) | ||
+ | * TNGGFile (The Cloud Filestore API is used for creating and managing cloud file servers.) | ||
+ | * TNGGFirebase (The Firebase Management API enables programmatic setup and management of Firebase projects, including a project's Firebase resources and Firebase apps.) | ||
+ | * TNGGFirebaseRules (Creates and manages rules that determine when a Firebase Rules-enabled service should permit a request. ) | ||
+ | * TNGGFirestore (Accesses the NoSQL document database built for automatic scaling, high performance, and ease of application development. ) | ||
+ | * TNGGHealthcare (Manage, store, and access healthcare data in Google Cloud Platform.) | ||
+ | * TNGGHomeGraph | ||
+ | * TNGGIamcredentials (Creates short-lived credentials for impersonating IAM service accounts. To enable this API, you must enable the IAM API (iam.googleapis.com).) | ||
+ | * TNGGIap (Controls access to cloud applications running on Google Cloud Platform.) | ||
+ | * TNGGIndexing (Notifies Google when your web pages change.) | ||
+ | * TNGGLanguage (Provides natural language understanding technologies, such as sentiment analysis, entity recognition, entity sentiment analysis, and other text annotations, to developers.) | ||
+ | * TNGGLibraryAgent (A simple Google Example Library API.) | ||
+ | * TNGGLifeSciences (Cloud Life Sciences is a suite of services and tools for managing, processing, and transforming life sciences data.) | ||
+ | * TNGGManagedIdentities (The Managed Service for Microsoft Active Directory API is used for managing a highly available, hardened service running Microsoft Active Directory (AD).) | ||
+ | * TNGGMemCache (Google Cloud Memorystore for Memcached API is used for creating and managing Memcached instances in GCP.) | ||
+ | * TNGGNetworkManagement (The Network Management API provides a collection of network performance monitoring and diagnostic capabilities.) | ||
+ | * TNGGOAuth2 (Obtains end-user authorization grants for use with other Google APIs.) | ||
+ | * TNGGOsConfig (OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.) | ||
+ | * TNGGOsLogin (You can use OS Login to manage access to your VM instances using IAM roles.) | ||
+ | * TNGGPolicyTroubleshooter | ||
+ | * TNGGProdTtSasPortal | ||
+ | * TNGGRecommender | ||
+ | * TNGGRedis (Creates and manages Redis instances on the Google Cloud Platform.) | ||
+ | * TNGGRemoteBuildExecution (Supplies a Remote Execution API service for tools such as bazel.) | ||
+ | * TNGGRun (Deploy and manage user provided container images that scale automatically based on HTTP traffic.) | ||
+ | * TNGGSasPortal | ||
+ | * TNGGSecretManager (Stores sensitive data such as API keys, passwords, and certificates. Provides convenience while improving security. ) | ||
+ | * TNGGSecurityCenter (Security Command Center API provides access to temporal views of assets and findings within an organization.) | ||
+ | * TNGGServiceConsumerManagement (Manages the service consumers of a Service Infrastructure service.) | ||
+ | * TNGGServiceManagement (Google Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers.) | ||
+ | * TNGGServiceNetworking (Provides automatic management of network configurations necessary for certain services.) | ||
+ | * TNGGServiceUsage (Enables services that service consumers want to use on Google Cloud Platform, lists the available or enabled services, or disables services that service consumers no longer use.) | ||
+ | * TNGGTextToSpeech (Synthesizes natural-sounding speech by applying powerful neural network models.) | ||
+ | * TNGGVerifiedAccess (API for Verified Access chrome extension to provide credential verification for chrome devices connecting to an enterprise network) | ||
+ | * TNGGVideoIntelligence (Detects objects, explicit content, and scene changes in videos. It also specifies the region for annotation and transcribes speech to text. Supports both asynchronous API and streaming API.) | ||
+ | * TNGGWebSecurityScanner (Scans your Compute and App Engine apps for common web vulnerabilities.) | ||
== Archive == | == Archive == | ||
* [[LMD VCL 2020 - News|LMD VCL 2020 - What's new]] | * [[LMD VCL 2020 - News|LMD VCL 2020 - What's new]] | ||
+ | * [[LMD NG 2020 - News|What's new]] in NG Controls 2020? | ||
* [[LMD VCL 2019 - News|LMD VCL 2019 - What's new]] | * [[LMD VCL 2019 - News|LMD VCL 2019 - What's new]] | ||
* [[LMD VCL 2018 - News|LMD VCL 2018 - What's new]] | * [[LMD VCL 2018 - News|LMD VCL 2018 - What's new]] |
Latest revision as of 09:43, 12 November 2021
<< Back to Getting started page
LMD 2021 Minor releases: LMD 2021 History
Contents
- 1 General
- 1.1 Support for IDEs and operating systems
- 1.2 Installers
- 1.3 64bit support
- 1.4 Package naming conventions
- 1.5 LMD 2021 DevUtil
- 1.6 NG packages now integrated into LMD VCL line
- 1.7 LMD 2021 Reg Utility
- 1.8 Free access to Git repositories for LMD VCL Complete
- 1.9 New subscription model and new customer area
- 2 Package Changes
- 3 Changes/Enhancements since initial LMD VCL 2020 release
- 3.1 All packages at designtime (only related to Delphi/C++Builder 10.4)
- 3.2 General
- 3.3 LMD Tools
- 3.4 LMD ElPack
- 3.5 LMD IDE-Tools
- 3.6 LMD ScriptPack
- 3.7 LMD SyntaxEdit
- 3.8 LMD DockingPack
- 3.9 LMD ShellPack
- 3.10 LMD WebPack
- 3.11 LMD RichPack
- 3.12 LMD FxPack
- 3.13 NG Serialization
- 3.14 NG DialogPack
- 3.15 NG ConnectionPack
- 4 Archive
General
Support for IDEs and operating systems
Major change:
- Supports any Delphi/C++Builder VCL release version XE2 or better (including new Delphi/C++Builder 11 Alexandria release).
- 64bit support for all releases!
- Supported IDEs
- Delphi XE2 and better
- C++ Builder XE2 and better
- All corresponding RAD Studio Products (XE2, XE3, XE4 etc.)
- Supported operating systems
- Windows 7 and better
For recent Delphi/C++Builder releases LMD VCL package support same platforms as the VCL which is included in the IDE. [Top]
Installers
- New extended compatibility package which includes parts of LMD VCL which were moved to legacy package (LMD TextPack, LMD XML etc.)
- NG Packages are now integrated into LMD installers. There are no separate NG installers any longer.
- Demo projects are now stored in commpon documents folder (not in main folder like in previous releases)
- Registered versions: If no license file is found, you can now pick up a valid license file from within the installers
- All component installers are now dual signed with SHA1/SHA2 certificate.
64bit support
All packages were ported to 64bit.
Exception: Compatibility controls (dcllmdlegacy) can not be used in 64bit applications.
[Top]
Package naming conventions
Since 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 2021 DevUtil
The DevUtil tool was updated (e.g. with Delphi/C++Builder 10.4 Sydney 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 packages now integrated into LMD VCL line
NG packages are now integrated into the LMD VCL line, e.g. the new NG Drag&DropPack is included in LMD-Tools/ElPack/IDE-Tools, which simplifies Drag&Drop operations within but also outside your projects enormously. [Top]
LMD 2021 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
We moved our sources to new git-based project structure. All VCL Complete 2021 customers receive free access to the Git repositories (based on GitLab). Visit your customer area and use the displayed link in your 2021 license to connect to GitLab. SSO with credentials for customer area is supported). 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
- Compiler version switches related to old IDEs were removed. Related source code was simplified and performance was optimized to new compiler features. Find here updated compiler switch reference.
- Support of old non-Unicode IDE versions was removed.
- TLMDString is replaced with string.
- TLMDChar is replaced with Char.
- ect.
- LMD TextPack - moved to legacy. No longer installed by default in compiled installers. Activate the Extended Compatibility Package when you still need these controls.
- LMD Xml implementation - moved to legacy. Delphi's Xml is used instead. No longer installed by default in compiled installers. Activate the Extended Compatibility Package when you still need this feature.
- LMD PNG implementation is removed. Delphi's PNG support is used instead.
- Please read Updating existing projects to learn how to update existing projects to LMD VCL 2021.
Common Property Editors
The following optional common property editors has been reworked:
Font, Brush, TLMDGradient, TLMDFillObject.
Demo Projects
- Project files for all demo projects were reworked. Now dproj file is provided for every Delphi demo, and cbproj file - with every C++ Builder demo.
- Outdated BDE demos were replaced by newer db technologies (e.g. TClientDataSet)
- Public download area support serveral new precompiled demo projects (AnyLogger, democenter etc.)
- Introduction of new democenter (for now supporting many LMD-Tools controls, will be extended to to other packages):
LMD-Tools
[+] Glyph 32-bit bitmaps support (TVirtualImageList DPI scaling support; Linked from Action images DPI scaling support):
- LMDDefaultImageListTransparentColor variable
- TLMDGlyphLabel
- TLMDCaptionButtons
- TLMDPopupMenu
- TLMDDBGlyphInfoLabel
- TLMDImageComboBox
- TLMDImageListBox
- TLMDStatusBar
- TLMDGlyphPanelFill
- TLMDSpeedButton
- TLMDButton
- TLMDDockButton
- TLMDOfficeButton
- TLMDExplorerButton
- TLMD3DCaptionButton
- TLMD3DEffectButton
- TLMDMMButton
- TLMDShapeButton
- TLMDWndButtonShape
- TLMDButtonBar
- TLMDExplorerBar
- TLMDSectionBar
- TLMDCheckBox
- TLMDRadioButton
For detailed description check also Glyphs transparency support
[+] New TLMDFontImageList component and editors:
- 32-bit alpha transparency.
- Full Windows 10 Segoe MDL2 Assets font icons support. Other icon fonts also can be used.
- Margin property for configuring margins around char glyph.
- Default images color and color overrides for individual items.
- Re-coloring on-the-fly (useful for VCL Styles; no need to re-populate the list).
- Auto DPI support.
- Modeless component editor (Add/Remove/MoveUp/ModeDown/Multiselect).
- Image item editor with library of known Segoe MDL2 Assets entries and search capability.
- Link to Microsoft documentation from the component popup menu.
All deprecated symbols
- TLMDPtrUInt
- TLMDPtrInt
- TLMDSize_t
- PLMDChar
- TLMDChar
- TLMDBaseString
- TLMDStrings
- TLMDMemoryStrings
- TLMDString
- TElFString
- TLMDWideCharArray
- TLMDWideStrings
- TLMDWideStringList
- LMDAnsiXXX string function overloads with "string" parameter types. For example, LMDAnsiTrimL, LMDAnsiTrimR, ect.
- LMDIsUnicodePlatform
- LMDWidePathDelimiters
- LMDConvertVCLHintShow
- LMDAnsiSpace
- LMDWideSpace
- LMDAnsiTab
- LMDWideTab
- LMDAnsiCR
- LMDWideCR
- LMDAnsiLF
- LMDWideLF
- LMDAnsiFF
- LMDWideFF
- LMDAnsiBEL
- LMDWideBEL
- LMDAnsiBS
- LMDWideBS
- LMDAnsiESCAPE
- LMDWideESCAPE
- LMDAnsiCRLF
- LMDWideCRLF
- TLMDApplication.UnicodeTitle
- TLMDBalloonFlags
- TLMDNotifyIconData
- LMDSIWindows95
- LMDSIWindows98
- LMDSIWindows2000
- LMDSIWindows2000AdvancedServer
- LMDSIWindowsME
- LMDSIWindowsXP
- LMDSIWindowsXPSP2
- LMDSIWindowsXPSP3
- LMDSIWindowsXPHome
- LMDSIWindowsXPProf
- LMDSINETServer
- LMDSIWindowsXPServer
- LMDSIWindowsXPTabletEdition
- LMDSIWindowXPMediaCenterEdition
- LMDSIWindowsVista
- LMDSIWindowsNT
- LMDSIWindowsNTUp
- LMDSIWindows2000Up
- LMDSIWindowsXPUp
- LMDSIWindowsXPSP2Up
- LMDSIWindows2003Up
- LMDSIWindowsVistaUp
- LMDSIWindowsExtension
- LMDSIUnicodeDelphi
- TLMDTextMetric
- TLMDAction
- TLMDHintAction
- TLMDUEditAction
- TLMDUEditCut
- TLMDUEditCopy
- TLMDUEditPaste
- TLMDUEditSelectAll
- TLMDUEditUndo
- TLMDUEditDelete
- TLMDUWindowAction
- TLMDUWindowClose
- TLMDUWindowCascade
- TLMDUWindowTileHorizontal
- TLMDUWindowTileVertical
- TLMDUWindowMinimizeAll
- TLMDUWindowArrange
- TLMDUHelpAction
- TLMDUHelpContents
- TLMDUHelpTopicSearch
- TLMDUHelpOnHelp
- TLMDUHelpContextAction
- TLMDUCommonDialogAction
- TLMDUFileAction
- TLMDUFileOpen
- TLMDUFileOpenWith
- TLMDUFileSaveAs
- TLMDUFilePrintSetup
- TLMDUFilePageSetup
- TLMDUFileExit
- TLMDUSearchAction
- TLMDUSearchFind
- TLMDUSearchReplace
- TLMDUSearchFindFirst
- TLMDUSearchFindNext
- TLMDUFontEdit
- TLMDUColorSelect
- TLMDUPrintDlg
- TLMDUBrowseForFolder
- TLMDWideForm
- ELMDPNGOutMemory
- ELMDPNGError
- ELMDPNGUnexpectedEnd
- ELMDPNGInvalidCRC
- ELMDPNGInvalidIHDR
- ELMDPNGMissingMultipleIDAT
- ELMDPNGZLIBError
- ELMDPNGInvalidPalette
- ELMDPNGInvalidFileHeader
- ELMDPNGIHDRNotFirst
- ELMDPNGNotExists
- ELMDPNGSizeExceeds
- ELMDPNGMissingPalette
- ELMDPNGUnknownCriticalChunk
- ELMDPNGUnknownCompression
- ELMDPNGUnknownInterlace
- ELMDPNGNoImageData
- ELMDPNGCouldNotLoadResource
- ELMDPNGCannotChangeTransparent
- ELMDPNGHeaderNotPresent
- ELMDPNGInvalidNewSize
- ELMDPNGInvalidSpec
- ELMDPNGInvalidSourceSize
- ELMDPNGDifferentBitDepth
- TLMDPNGObject
- TLMDWideString
- TLMDWideButton
- TLMDWideCheckBox
- TLMDWideRadioButton
- TLMDStringArray
- TElXTreeItems.LoadFromWideStringList
- TElXTreeItems.SaveToWideStringList
- TElTreeItems.LoadFromWideStringList
- TElTreeItems.SaveToWideStringList
- TElDBTreeItems.LoadFromWideStringList
- TElDBXTreeItems.LoadFromWideStringList
- TElDBXTreeWideStringEdit
- TJSWideStringList
- TJSString
- TJSStrings
Changes/Enhancements since initial LMD VCL 2020 release
This fix covers all packages with visual controls. Problem happens in Delphi/C++Builder 10.4 at designtime only (and is likely to be fixed with the next RAD Studio Service Pack), which is caused by a bug in the IDE (introduced by the new changes in VCL Styles architecture) which results in strange effects like in the following image (inner buttons are not shown):
Though problem exists only at designtime we created a work around for this issue till it is solved by EMBT.
For all other supported IDEs download of this service pack is not required.
General
[+] RAD Studio 10.4 (Sydney) support added for all products.
[*] Resource strings units adjustments.
[*] Installer of registered versions: If no license file is found, location of license file can specified and license file will be copied to correct location.
[*] LMD DevUtil (LMD GIT user only): Enhanced file error messages
[*] DevUtil design update.
[-] General improved VCL Styles support (e.g. by workaround for VCL DrawThemedText bug).
LMD Tools
[+] New TLMDGlyphPanelFill control.
[+] TLMDBiTrackBar: New property DiapasonMargin published
[+] TLMDCaptionPanel: New ThemePane property.
[+] TLMDDBMaskEdit: New published CurrencySettings, DateSettings and TimeSettings properties
[+] TLMDIniCtrl: pAppData/pAppDataLocal identifiers to IniPrefix.
[+] TLMDInputDialog: Autosizing (when Width = 0), new PromptPos, EditWidth and MinEditWidth properties. Dialog layouting reimplementation.
[+] TLMDLight: New InactiveLightColor property (defaults to lcNone for backward compatibility).
[+] TLMDTextEditDlg: New CustomButtonWidth property.
[+] TLMDTextEditDlg: New Width and Height properties.
[+] TLMDTrackBar: New unthemed Flat thumb style.
[*] LMDVistaDialogs: disabling VCL Styles (like it's done in Delphi).
[-] TLMDComboBox: button width bug fix (high DPI).
[-] LMD-Edit: SelStart reset bug fix (enter via tab into mask-edit case).
[-] TLMDEdit/TLMDMemo: right click cursor repositioning bug fix.
[-] TLMDCheckBox and TLMDRadioButton: high-dpi related fixes.
[-] TLMDMaskEdit negative currency mask bug fix.
[-] TLMDObjectStorage component editor bug fix.
[-] TLMDBevel bug fixes: minor drawing correstions, control invalidation (TLMDCustomBevelPanel and descendants), bevel assignment fix (design-time).
[-] TLMDFillObject: AlphaLevel property setter fix.
[-] TLMDObjectStorage component editor bug fix.
[-] DPI bug fix in TLMDWindowListDlg.
[-] Unicode related fixes for TLMDCSV2DBImport.
[-] LMDButtonBar: Section.Layout (ignored previously, now works)
[-] TLMDInputDlg focused control bug fix.
[-] TLMDCaptionPanel: Many visual appearance and layouting fixes.
[-] TLMDCaptionPanelGroup: Many visual appearance and layouting fixes.
[-] TLMDTextEditDlg: dfm reading bug fix.
[-] TLMDBaseMeter: Sub method bug fix.
[-] TLMDProgress: Color property default value bug fix.
[-] TLMDBiTrackBar: Range constraining logic fixes for position related properties.
[-] TLMDBiTrackBar: Drawing related fixes.
[-] TLMDTrackBar: Unthemed Standard thumb drawing fixes.
[-] TLMDTrackBar: Themed drawing related fixes (wrong pressed and disabled states fixed)
[-] TLMDTrackBar: Range constraining logic fixes for position related properties.
[-] TLMDTrackBar: Custom thumb logic (bitmap, image-list) fixes.
[-] TLMDTrackBar: 32-bit transparency support for custom thumb.
LMD ElPack
[*] TElShellList: Speed improvements for display of folders with huge amount of files.
[-] ElXTree: Mouse wheel bug fix (when UseCustomScrollBars = False)
[-] ElXTree: Cells custom draw clipping bug fix.
[-] TElDbButtonEdit.ReadOnly bug fix.
[-] TElListBoxStrings.Assign bug fix.
[-] TEIPopupButton: VCL Styles glyph/text layouting bug fix.
[-] ElPageControl: VCLStyles tab layouting bug fix.
[-] The fix which prevents saving empty values of StyleName property into dfm.
[-] TElMenu: DPI fixes.
[-] ElMemo: Lines.Text bug fix, which affected dfms.
LMD IDE-Tools
[+] TLMDComponentBar: New Page.Visible property.
[-] Small x64 compatibility fix (TLMDPicturePropEditor).
[-] Memory leak fix.
LMD ScriptPack
[+] Importer files for 10.4 (Sydney) updated.
LMD SyntaxEdit
[-] Search next (F3) after realoading document text bug fix.
LMD DockingPack
[+] New TLMDDockSite.AutoHideOptions property with [ahoShowOnClick, ahoShowOnHover] options.
[+] New OnActiveChanged event for dock panels and dock manager.
[+] New TLMDDockPanel.IsDocked and TLMDDockPanel.IsFloating properties.
[*] Dpi scaling performance improvements.
[-] Mouse capture loss workaround (based on timer).
[-] Invalid font size in floating forms in high-dpi mode. Fixed.
[-] Style engine memory management bug fix.
[-] FinalizeDIB bug fix.
[-] x64 compatibility fix.
[-] CM_RELEASE related Delphi 10.4.2 workaround.
LMD ShellPack
[-] TLMDStarter close handle related bug fix.
[-] New folder renaming mode bug fix.
[-] Invalid position of shell context menu on multi-monitor system bug fix.
LMD WebPack
[-] TLMDMAPISendMail memory leak fix.
LMD RichPack
[-] TLMDRichLabel internal AV bug fix (FastMM 5, VCLStyles, Align)
LMD FxPack
[-] Minor fixes.
NG Serialization
[*] Unsupported type error will no longer be raised at the application startup time. Instead it has been moved to the actual serialization/deserialization time.
NG DialogPack
[+] New Width property for task and input dialogs.
NG ConnectionPack
[+] Google services update.
[+] New Google services:
- TNGGAccessApproval (An API for controlling access to data by Google personnel.)
- TNGGAccessContextManager (An API for setting attribute based access control to requests to GCP services.)
- TNGGAdExchangeBuyer2 (Accesses the latest features for managing Authorized Buyers accounts, Real-Time Bidding configurations and auction metrics, and Marketplace programmatic deals.)
- TNGGAdMob (The AdMob API allows publishers to programmatically get information about their AdMob account.)
- TNGGAdSenseHost (Generates performance reports, generates ad codes, and provides publisher management capabilities for AdSense Hosts.)
- TNGGAlertCenter (Manages alerts on issues affecting your domain.)
- TNGGAndroidPublisher (Lets Android application developers access their Google Play accounts.)
- TNGGApigee (Use the Apigee API to programmatically develop and manage APIs with a set of RESTful operations. Develop and secure API proxies, deploy and undeploy API proxy revisions, monitor APIs, configure environments, manage users, and more. Get started using the APIs. *Note:* This product is available as a free trial for a time period of 60 days.)
- TNGGBigQueryConnection (Allows users to manage BigQuery connections to external data sources.)
- TNGGBigQueryReservation (A service to modify your BigQuery flat-rate reservations.)
- TNGGBigTableAdmin (Administer your Cloud Bigtable tables and instances.)
- TNGGBinaryAuthorization (The management interface for Binary Authorization, a system providing policy control for images deployed to Kubernetes Engine clusters.)
- TNGGChat (Enables bots to fetch information and perform actions in Hangouts Chat.)
- TNGGCloudAsset (The cloud asset API manages the history and inventory of cloud resources.)
- TNGGCloudBuild (Creates and manages builds on Google Cloud Platform.)
- TNGGCloudidentity (API for provisioning and managing identity resources.)
- TNGGCloudkms (Manages keys and performs cryptographic operations in a central cloud service, for direct use by other cloud resources and applications.)
- TNGGCloudprofiler (Manages continuous profiling information.)
- TNGGCloudScheduler (Creates and manages jobs run on a regular recurring schedule.)
- TNGGCloudSearch (Cloud Search provides cloud-based search capabilities over G Suite data. The Cloud Search API allows indexing of non-G Suite data into Cloud Search.)
- TNGGComposer (Manages Apache Airflow environments on Google Cloud Platform.)
- TNGGContainerAnalysis (An implementation of the Grafeas API, which stores, and enables querying and retrieval of critical metadata about all of your software artifacts.)
- TNGGContent (Manage your product listings and accounts for Google Shopping)
- TNGGDataCatalog (A fully managed and highly scalable data discovery and metadata management service.)
- TNGGDataStore (Accesses the schemaless NoSQL database to provide fully managed, robust, scalable storage for your application.)
- TNGGDiscovery (Provides information about other Google APIs, such as what APIs are available, the resource, and method details for each API.)
- TNGGDisplayVideo (Display & Video 360 API allows users to manage and create campaigns and reports.)
- TNGGDocs (Reads and writes Google Docs documents.)
- TNGGDomainsrdap (Read-only public API that lets users search for information about domain names.)
- TNGGDriveActivity (Provides a historical view of activity in Google Drive.)
- TNGGFactCheckTools
- TNGGFcm (FCM send API that provides a cross-platform messaging solution to reliably deliver messages at no cost.)
- TNGGFile (The Cloud Filestore API is used for creating and managing cloud file servers.)
- TNGGFirebase (The Firebase Management API enables programmatic setup and management of Firebase projects, including a project's Firebase resources and Firebase apps.)
- TNGGFirebaseRules (Creates and manages rules that determine when a Firebase Rules-enabled service should permit a request. )
- TNGGFirestore (Accesses the NoSQL document database built for automatic scaling, high performance, and ease of application development. )
- TNGGHealthcare (Manage, store, and access healthcare data in Google Cloud Platform.)
- TNGGHomeGraph
- TNGGIamcredentials (Creates short-lived credentials for impersonating IAM service accounts. To enable this API, you must enable the IAM API (iam.googleapis.com).)
- TNGGIap (Controls access to cloud applications running on Google Cloud Platform.)
- TNGGIndexing (Notifies Google when your web pages change.)
- TNGGLanguage (Provides natural language understanding technologies, such as sentiment analysis, entity recognition, entity sentiment analysis, and other text annotations, to developers.)
- TNGGLibraryAgent (A simple Google Example Library API.)
- TNGGLifeSciences (Cloud Life Sciences is a suite of services and tools for managing, processing, and transforming life sciences data.)
- TNGGManagedIdentities (The Managed Service for Microsoft Active Directory API is used for managing a highly available, hardened service running Microsoft Active Directory (AD).)
- TNGGMemCache (Google Cloud Memorystore for Memcached API is used for creating and managing Memcached instances in GCP.)
- TNGGNetworkManagement (The Network Management API provides a collection of network performance monitoring and diagnostic capabilities.)
- TNGGOAuth2 (Obtains end-user authorization grants for use with other Google APIs.)
- TNGGOsConfig (OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.)
- TNGGOsLogin (You can use OS Login to manage access to your VM instances using IAM roles.)
- TNGGPolicyTroubleshooter
- TNGGProdTtSasPortal
- TNGGRecommender
- TNGGRedis (Creates and manages Redis instances on the Google Cloud Platform.)
- TNGGRemoteBuildExecution (Supplies a Remote Execution API service for tools such as bazel.)
- TNGGRun (Deploy and manage user provided container images that scale automatically based on HTTP traffic.)
- TNGGSasPortal
- TNGGSecretManager (Stores sensitive data such as API keys, passwords, and certificates. Provides convenience while improving security. )
- TNGGSecurityCenter (Security Command Center API provides access to temporal views of assets and findings within an organization.)
- TNGGServiceConsumerManagement (Manages the service consumers of a Service Infrastructure service.)
- TNGGServiceManagement (Google Service Management allows service producers to publish their services on Google Cloud Platform so that they can be discovered and used by service consumers.)
- TNGGServiceNetworking (Provides automatic management of network configurations necessary for certain services.)
- TNGGServiceUsage (Enables services that service consumers want to use on Google Cloud Platform, lists the available or enabled services, or disables services that service consumers no longer use.)
- TNGGTextToSpeech (Synthesizes natural-sounding speech by applying powerful neural network models.)
- TNGGVerifiedAccess (API for Verified Access chrome extension to provide credential verification for chrome devices connecting to an enterprise network)
- TNGGVideoIntelligence (Detects objects, explicit content, and scene changes in videos. It also specifies the region for annotation and transcribes speech to text. Supports both asynchronous API and streaming API.)
- TNGGWebSecurityScanner (Scans your Compute and App Engine apps for common web vulnerabilities.)
Archive
- LMD VCL 2020 - What's new
- What's new in NG Controls 2020?
- LMD VCL 2019 - What's new
- LMD VCL 2018 - What's new
- LMD VCL 2017 - What's new
- LMD VCL 2016 - What's new
- LMD VCL 2015 - What's new
- LMD VCL 2014 - What's new
- LMD VCL 2013 - What's new
- LMD VCL 2012 - What's new
- LMD VCL 2011 - What's new
- LMD VCL 2010 - What's new
- LMD VCL 2009 - What's new
- LMD VCL 2007 - What's new