Difference between revisions of "LMD VCL 2021 - News"

From LMD
Jump to: navigation, search
(LMD DockingPack)
m (LMD ElPack)
Line 317: Line 317:
 
[-] 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>
  
 
=== LMD IDE-Tools ===
 
=== LMD IDE-Tools ===

Revision as of 12:42, 11 December 2020

<< Back to Getting started page

[edit]

LMD 2021 Minor releases: LMD 2021 History

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 10.4 Sydney).
  • 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 compatability 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.

[Top]

64bit support

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 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 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.
[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.
  • 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.

Demo Projects

Lmddemocenter3.png

Lmddemocenter2.png

Lmddemocenter1.png

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

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

TLMDFontImageList.png
[Top]

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

[Top]

Changes/Enhancements since initial LMD VCL 2020 release

All packages at designtime (only related to Delphi/C++Builder 10.4)

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):
Designtimebug.jpg
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.

LMD-Tools

[+] TLMDInputDialog: Autosizing (when Width = 0), new PromptPos, EditWidth and MinEditWidth properties. Dialog layouting reimplementation.
[+] TLMDTextEditDlg: New CustomButtonWidth property.
[+] New TLMDGlyphPanelFill control.
[+] TLMDIniCtrl: pAppData/pAppDataLocal identifiers to IniPrefix.
[+] TLMDTextEditDlg: New Width and Height properties.
[-] 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).
[-] 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.

LMD ElPack

[*] TElShellList: Speed improvements for display of folders with huge amount of files.
[-] ElXTree: Mouse wheel bug fix (when UseCustomScrollBars = False)
[-] TElDbButtonEdit.ReadOnly bug fix.
[-] TElListBoxStrings.Assign bug fix.
[-] TEIPopupButton: VCL Styles glyph/text layouting bug fix.
[-] ElPageControl: VCLStyles tab layouting bug fix.

LMD IDE-Tools

[+] TLMDComponentBar: New Page.Visible property.
[-] IDE-Tools: small x64 compatibility fix (TLMDPicturePropEditor).

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

LMD ShellPack

[-] TLMDStarter close handle related bug fix.
[-] New folder renaming mode bug fix.

LMD WebPack

[-] TLMDMAPISendMail memory leak fix.

LMD RichPack

[-] TLMDRichLabel internal AV bug fix (FastMM 5, VCLStyles, Align)

[Top]

Archive

[Top]