LMD VCL - Updating Projects
<< Back to Getting started page
LMD 2021 Series
Deprecated Files
- LMD TextPack - moved to legacy. No longer installed by default in compiled installers. Activate the Extended Compatibility Package when you still need these controls.
- LMDXML implementation - moved to legacy. Delphi's Xml should be 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 should be used instead.
- LMDUnicodeStrings unit - the whole unit is deprecated:
- TLMDWideStrings -> TStrings
- TLMDWideStringList -> TStringList
- LMDTypes unit - deprecated types:
- TLMDString -> String
- TLMDChar -> Char
- PLMDChar -> PChar
- TLMDStrings -> TStrings
- TLMDStringList ->TStringList
- LMDUnicodeControl unit:
- Renamed to LMDHintHooks
- No longer relates to Unicode support in our libraries.
- LMDUnicodeCtrls unit - the whole unit is deprecated:
- TLMDWideButton -> TButton
- TLMDWideCheckBox -> TCHeckBox
- TLMDWideRadioButton -> TRadioButton
Unicode Support
Starting from 2021 release LMD libraries support only Unicode IDE version. Standard Delphi's String and Char (PChar) types should now be used instead of deprecated TLMDString and TLMDChar (PLMDChar) types.
Since TLMDString type was used in parameters of control's events the following error can occurs while trying to modify/save old forms:
In this case all TLMDString occurrences should be replaced with String in the corresponding *.pas file. Unfortunately, there were no way to deprecate TLMDString type without encountering such inconvenient situations.
LMD 2009 Series
Deprecated Files
- LMDRTL
- LMDXPThemeManager (obsolete, replaced by LMDThemes).
- LMDXPStyles (obsolete)
- intfLMDThemes.pas (obsolete)
- LMD-Tools
- LMDRgnShadow.pas (obsolete)
- LMDHintWindow.pas (obsolete)
- LMDNativeHintWindow.pas (obsolete)
- LMDShapeHintWindow.pas (obsolete)
- LMD ElPack
- All old ElThemes*.pas files (obsolete)
- LMD ShellPack
- LMDShCmp50 (obsolete)
- LMDShNtfCmn (obsolete)
- LMDSHXPRes (obsolete)
- ScriptPack
- pLMDSctPE.pas (obsolete)
- StoragePack
- LMDStorWndProc.pas (obsolete)
- WebPack
- LMDWUSupport.pas (obsolete)
LMD 2007 Series
LMD-Tools
Feature Notes
TLMD3DCaption, TLMDFxCaption
Under Vista: Tracing property --> AutoSize no longer work correctly when Tracing feature is used
LMD Shell Tab
All 4 components of LMD Shell tab are now part of LMD ShellPack
Unit name changes
LMDCPGet.pas
Features of LMDCPGet unit were splitted to following new units: pLMDCPGetCore and pLMDCPGetMain
LMDGraph.pas
Several featurs of LMDGraph.pas were moved to LMDGraphUtils.pas (Simply adding LMDGraphUtils.pas to uses clause solves this problem)
LMD Packs
LMD BarPack
- LMDBarCommon unit is no longer used
- LMDBarCtlXPSupported --> LMDApplication.XPThemesSupported (unit LMDClass).
LMD RichPack
- LMDRichRumpTo --> LMDFireURL (LMDProcs)
- Several basic routines in LMDRTFBase.pas can now be found in LMDProcs and LMDUtils shared RTL units.
- Conversion routines can now be found in LMDConversion.pas unit.
LMD ShellPack
- Unit LMDShCmp50 is no longer available, simply remove from uses clause.
- TLMDSystemFolder types (sfDesktop, sfMyComputer etc.) are now defined in LMDShUtils unit.
- LMDDirectoryExists method removed, use DirectoryExists method from VCl (filectrl unit).
- LMDSHXPRes.pas, res removed completely. Use shared LMDXPRes.pas instead.
LMD SysPack
- Several basic routines in LMDSysBase.pas can now be found in LMDProcs, LMDSysIn and LMDUtils shared RTL units.
LMD WebPack
- ReplaceStr --> LMDAnsiReplacestr (LMDStrings unit)
LMD ElPack
- if TElFString is used => uses ..., LMDTypes
- replace:
- ElUnicodeStrings -> LMDUnicodeStrings
- TElBorderSides -> TLMDBorderSides
- TElBkGndType -> TLMDBackgroundType (type with many new gradient's styles)
- if you get message "The <Method Name> method referenced by <Form Name>.<Event Name> has an incompatible parameter list. Remove the reference?" then you need to replase TElFString on TLMDString in <Form Name>.<Event Name>
- ElUxTheme -> LMDXPStyles
- ThemesAvailable -> XPThemesAvailable
- DrawArrow -> LMDDrawArrow (LMDGraphUtils)
- FireURL -> LMDFireURL (LMDProcs)
- GetOwnerFrameForm -> LMDGetOwnerFrameForm (LMDProcs)
- GetOwnerForm -> LMDGetOwnerForm (LMDProcs)
A lot of basic routines in ElStrUtils can now be found in LMDUnicode.pas or LMDStrings.pas. Usually the new name is equal old name with LMD prefix (ex: WideStrAlloc -> LMDWideStrAlloc) but several was renamed. You can find the list of this exclusions below:
- CompareWideStr -> LMDWideCompareStr
- SameWideStr -> LMDWideSameStr
- IsDigit -> LMDAnsiIsNumeric
- IsDigitStr -> LMDAnsiIsNumericStr
- uni2uppers, uni2lowers was moved to LMDUnicode without renaming
- WideTrimLeft -> LMDWideTrimL
- WideTrimRight -> LMDWideTrimR
- const SPathDelimiters, SWidePathDelimiters -> LMDPathDelimiters, LMDWidePathDelimiters
- GetWideStringOf -> LMDWideGetStringOf
- GetWideCharRangeString -> LMDWideGetCharRangeString
- H2D -> LMDAnsiH2D
- H2DDef -> LMDAnsiH2DDef
- IsAlpha -> LMDAnsiIsAlpha
- StrStartsWith -> LMDAnsiStrStartsWith
- ContainsAt -> LMDAnsiContainsAt
- SetWideString -> LMDWideSetString
A lot of basic routines in ElVCLUtils can now be found in other modules such as LMDGraphUtils, LMDProcs etc. Usually the new name is equal old name with LMD prefix. Exclusions:
- GradientFill -> LMDGradientPaint (parameters are little changed)
Functions from ElCBFmts has moved to LMDUtils
- GetFormatName -> LMDGetClipboardFormatName
- GetFormatIndex -> LMDGetClipboardFormatIndex
- HasFormat -> LMDHasClipboardFormat
- ElGraphics.ElDrawSmoothLine -> LMDGraphUtils.LMDDrawSmoothLine
Functions from ElInprocHookAPI has moved to LMDInprocHookAPI
- TElList -> TLMDObjectList
ElColor was deleted. Its functions has analog in LMDGraphUtils
- BrightColor -> LMDColorLighter
- DarkColor -> LMDColorDarker
- ElExtBkgnd.ExtDrawBkgnd -> LMDGraphUtils.LMDExtDrawBkgnd
- ElExtBkgnd2.ExtDrawBkgnd -> LMDGraphUtils.LMDExtDrawBkgnd2