LMD VCL 2013 - News

From LMD
Jump to: navigation, search

<< Back to Getting started page

[edit]

General

Support for IDEs and operating systems

  • Compatible with Delphi and C++ Builder XE2 - X4, including 64bit support for XE2 and higher! The next Delphi/C++Builder release will be support almost immediately after public availability.
  • Supported IDEs
    • Delphi 6, 7, Delphi 2005 - 2010, XE, XE2, XE3, XE4
    • C++ Builder 6, 2006 - 2010, XE, XE2, XE3, XE4
    • 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 etc.)
  • Supported operating systems
    • Win98 and WinNT4 or better (including Windows 7 + 8).

For recent Delphi 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).

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_170.bpl.

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 will require no changes.
[Top]

LMD 2013 Reg Utility

On user request the new 2013 RegUtility installier copy all files to the %APPDATA%\LMD Innovative folder (instead of system folder in previous release). 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]

LMD 2013 DevUtil

The DevUtil tool (available for LMD VCL Complete Subscription customers with SVN access) was 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! All new functionality will be described on the [LMD VCL - DevUtil|DevUtil description] page.
[Top]

Free license of NG 2013 packages/Suite

LMD-Tools, ElPack and LMD IDE-Tools user will receive a subset of the new NG Controls suite (e.g. DialogPack). LMD VCL Complete user will receive license for all 4 new packages (LMD Serialization Pack, DialogPack, ValidatorPack and HTMLPack).
[Top]

Requesting Previous Licenses

Any registered LMD 2013 customer can request any license back to LMD-Tools 8, ElPack 6 and IDE-Tools 1 (for Delphi 5 support or compatibility issues). Earlier licenses are not available.
[Top]

LMD Tools

General

  • Integration of Touch based features where missing (Touch property, OnGesture Events etc.)
  • Continued and improved support for VCL Styles (available in Delphi/C++ Builder XE2 and higer)
  • Support of new operating systems (Windows 2012 Server, Windows 8)

Source Changes

LMDProcs.pas

  • TLMDPathPrefix - new items: ppAppData, ppCommonAppData, ppUser, ppCommonDocuments
  • LMDCreatePathPrefix was extended to support new PathPrefix identifiers

LMDShUtils

  • TLMDSystemFolder (and TLMDRootFolder) - new Items: fCommonAppData, sfCommonDocuments

LMDSysIn.pas

  • New platform types (TLMDSysPlatform): pfWin2008server, pfWin2008R2Server, pfWin8, fWin2012Server
  • New global variables: LMDSIWindows8, LMDSIWindowsWindows8Up

[Top]

Controls

  • TLMDIniCtrl: New target XML. Besides that, helper routines for several cases were added (e.g. check, whether registry can be written in usermode (HKEY_LOCAL_MACHINE), %APPDATA% path etc.).
  • TLMDPageControl enhancements (colors for tabs etc.)
  • Enhancements for system controls like TLMDStarter + TLMDOneInstance
  • New system controls like TLMDClipBoard
  • TLMDFlyoutController: a component that makes selected control to flyout when mouse

pointer is near window's top/bottom/sides. See demo in \demos\lmdcore\delphi\LMD Megademo\DemosCore\LMD Ext\LMDFlyoutController folder. Tlmdflyoutcontroller.png

  • ListBox + ComboBox controls: Several new features like gradient lines and headers added
  • On user request for several controls ValueList support was added (e.g. ComboBox controls)

LMD DockingPack

Extensive rework of internal engine and support of enhanced new and unique features (like e.g. tabbed document zones, advanced hotspot areas) to continue our aim to provide the best available docking solution for Delphi/C++Builder!
New features are:
[+] New document-tabs scrolling feature has been implemented. New TLMDDockManager.ScrollDocTabs, TLMDDockZone.FirstTab, TLMDDockZone.ScrollToTab, TLMDDockZone.IsTabInView properties/methods has been added. Scroll-left and scroll-right tab area buttons has been added to styles.
TabsScroll.png
[+] New tabbed documents list button and popup menu is implemented.
TabsList.png
[+] New tabbed documents feature, which allows to organize application documents in tabs - just like in Delphi or Microsoft™ Visual Studio!
[+] Fully reworked style engine: stretchable 32-bit bitmaps which are based on XML style definitions.
[+] New TLMDDockManager.UseTabbedDocs property which allows to turn tabbed documents feature on/off.
[+] New TLMDDockPanel.ClientKind property, which allows to specify whether the panel is part of the document area.
[+] New TLMDDockManager.OnGetClientKind event, which allows to specify whether the client (including non-panel clients) is a tool panel or a document.
[+] New big-cross hotspot and its additional active areas (hsaDocsLeft, hsaDocsTop, hsaDocsRight, hsaDocsBottom) which reflect new tabbed documents feature.
[+] New Metropolis VS2012 style. VS2010 and VS2005 styles were also updated.
[*] Old TLMDDockManager.Style property and all its sub-properties are no longer available. It has been replaced with new public TLMDDockManager.Style property, which is a reference to the engine style object. New StyleName published property for design-time access.
[+] New TLMDDockPanel.OnClose event with CloseAction var parameter. New Release method, which allows asynchronous destruction of the panel (like in TForm).
[+] Floating form maximization feature preview (not finished yet, will be finalized until LMD 2013.1 platform release).
[-] Panel client area invalidation has been improved to reduce child controls re-drawings.

Other Packages

Besides DockingPack most extensive changes will be performed on LMD RichPack and LMD StoragePack (changes might be available in initial LMD 2013.0 release).
[Top]

LMD ElPack

General

LMDProcs.pas

  • TLMDPathPrefix - new items: ppAppData, ppCommonAppData, ppUser, ppCommonDocuments
  • LMDCreatePathPrefix was extended to support new PathPrefix identifiers

LMDShUtils

  • TLMDSystemFolder (and TLMDRootFolder) - new Items: fCommonAppData, sfCommonDocuments

LMDSysIn.pas

  • New platform types (TLMDSysPlatform): pfWin2008server, pfWin2008R2Server, pfWin8, fWin2012Server
  • New global variables: LMDSIWindows8, LMDSIWindowsWindows8Up

[Top]

Controls

  • Integration of Touch based features where missing (Touch property, OnGesture Events etc.)
  • Continued and improved support for VCL Styles (available in Delphi/C++ Builder XE2 and higer)
  • Support of new operating systems (Windows 2012 Server, Windows 8)
  • Several new component and property editors added

[Top]

LMD IDE-Tools

  • LMD IDE-Tools user are primary target for the new tabbed document zones feature of LMD DockingPack - hence LMD DockingPack is now included with each LMD IDE-Tools license!
  • Completely reworked IDE-Tools demo using the new fancy features of DockingPack and rencet IDE-Tools enhancements.
  • ScriptPack: Support of VCL/RTL features of new Delphi/C++Builder releases
  • ScriptPack: XE3 importer files

[Top]

Changes/Enhancements since initial LMD VCL 2012 release

General

[+] Support of XE2 vcl.styles for most of LMD Tools and ElPack controls added (several major fixes made to LMDThemes, ElPack and LMDTools units). See What's New page for more info.
[*] DevUtil changed for subscription user. Configuration data is stored now in *.cfg files (which are in XML format against Ini-Format of previous versions). You need to rebuild your personal workspaces.
[-] Some project groups were missing in LMD 2012.4 Source Installers. This has been fixed.
[Top]

LMD Tools

[*] Delphi 2009+: New property editor for PNGGlyph properties
[+] LMDButtonPanel: SetBorders method is now aware of buttons visibility prop value
[+] LMDCalendarEdit, LMDCustomDateTimePicker: StartDay property added, access to Calendar and CalendarForm added
[+] LMDCustomExtSpinEdit: ForceOverwriteMode made published
[+] LMDDBExtSpinEdit: UseDBDecimals property added (default = true)
[+] LMDEditAutoComplete: IsExact property added, OnSelectevent added
[+] LMDHTMLLabel: OnAdjustControlPosition and OnControlCreated events added
[+] LMDHTMLUnit: OnControlCreated event added
[+] LMDInputDlg: PromptFont property added
[+] LMDPageControl: IndexOfTabByCaption and IndexOfTabByName methods added
[+] LMDStorXMLVault: NormalizeSeparators property added
[+] LMDToolBar: support of all image lists added, including TLMDImageList
[+] LMDCmps.inc: LMD_FORCELISTINDEXUSE switch entry added (disabled by default, see http://wiki.lmd.de/index.php/LMD_VCL_-_LMD-Tools_FAQ#ListIndex_vs._ImageIndex_property)
[+] LMDUnicodeStrings: Delimiter, StrictDelimiter, DelimitedText props added in TLMDWideStringList for Delphi versions less than 2009
[-] LMDBaseGraphicButton: ImageIndex is now used instead of ListIndex
[-] LMDButtonBar XE issue workaround added
[-] LMDCustomNImage: AV when printing form with TLMDNImage fixed
[-] LMDCustomToolBar, pLMDToolBarEditorDlg: several major fixes
[-] LMDCurrencySettings: bug with negative formats with parenthesis like "¤(1,1)" fixed
[-] LMDCurrencySettings, LMDCustomExtSpinEdit: fixes in handling minus-less negative formats like (1,1д)
[-] LMDCurrencySettings: negative format signature was not properly initialized - fixed
[-] LMDCustomMaskEdit: pressing "-" when entering currency values changed cursor position - fixed
[-] LMDCustomMaskEdit and descendants: navigation with LEFT and RIGHT keys was broken - fixed
[-] LMDComboBoxExt: ItemIndex was not set by the moment when Change method is called - fixed
[-] LMDCustomExtSpinEdit: deleting DecimalSep bug fixed
[-] LMDCustomListComboBox: workaround for remaining scrollbar after dropdown list is closed when custom style is active (XE2)
[-] LMDGraphUtils: white corners issue in TLMDFill fixed
[-] TLMDHTMLLabel: never-ending loop when AutoSize = true fixed
[-] LMDInputDlg: MultilinePrompt property added
[-] LMDShDragDrop: Wrong file count when drag-drop from TLMDShellList - fixed
[-] LMDTxtPrinter: unicode issues fixed (printing was incorrect for CRS2009+)
[-] LMDSearchFileGrep: issues #841, #842 fixed [-] LMDGetOSVersionInfoEx problems fixed on recent compiler versions (XE2 etc.)
[-] TLMDTaskDialog: Fixed incorrect icon loading for non native dialog
[-] TLMDTaskDialog. Fixed icons incorrect drawing under Windows Vista+
[-] TLMDFlowPanel: Problems with cascading flow panels fixed in Delphi/C++Builder 2007 and higher
[-] Problem with TaskDialogEditor designtime editor: DefaultButton setting is now stored correctly [-] LabeledDriveComboBox and other LabeledComboBoxes: At runtime label was positioned incorrectly
[-] FaceController designtime Editor: ListIndex out of bounds error fixed
[-] LMDHTMLUnit: OnControlCreated event fixed (was not possible to assign control's name)
[-] Fix for some obscure problems with TLMDListComboBox / ItemIndex property in C++Builder XE3 (only!)
[-] LMDCustomExtCombo (and several descendants): dropdown list closed automatically when clicking on scrollbar or up/down buttons
[Top]

LMD Grid

[+] PopupMenu property has been published.
[+] OnMouseUp, OnMouseMove events has been published.
[+] IsEditorShown, Edit and EndEditing methods has been added to allow manual inplace editor control.
[+] GridColToDataCol, DataColToGridCol, GridRowToDataRow, DataRowToGridRow, DataRectToGridRect methods has been published.
[+] MouseCoord and CellRect methods has been published to allow mouse coordinates to be transformed to grid Col/Row indexes.
[-] #859 bug fix
[-] Invisible db-fields bug fix
[Top]

LMD BarPack

[-] Fixed: Switching to a different SectionStorage control in response to a click on an item in a section caused AV under certain circumstances. [Top]

LMD DockingPack

[+] Application.AutoDragDocking property is now respected. [+] TLMDDockPanel.Release method has been added (like in TForm).
[+] Global TLMDDockManager.OnLayoutChange event, which is fired for all sites including floating, has been added.
[+] Bounds constraints are now applied on loading floating forms, which made them at least partially visible on screen; with respect of multi-monitor systems.
[+] ActiveHot tabs state has been added to painter interface.
[+] Close button in floating form made invisible, in case it invisible in some of contained panels.
[-] WM_ACTIVATE added to PanelsHookProc to fix the bug with modal dialogs.
[-] #837 bug has been fixed.
[Top]

LMD InspectorPack

[-] tkVariant->tkClass in SetObject method bug fix.
[Top]

LMD RichPack

[+] LMDRTFHyperText: MarkAllLink received aProtectLinks param
[+] LMDRTFRichEdit: ProtectLinks property added
[Top]

LMD Storage Pack

[-] pLMDTemplateStorageForm: AV when selecting form's props fixed
[-] LMDStorRegistryVault: the issue "property itemN does not exist" (custom properties were not read correctly) fixed
[Top]

LMD ElPack

[+] ElXTree: new method SetItemsByString added
[+] TElEdit. Added ScrollBarsAutoShowing property that controls which of scrolbars is auto showing. Default ssNone.
[+] ElXTree: OnControlCreated event added
[+] TElTrayInfo. Added InforType option - titNone to show control without any icon
[*] TElFileNameEdit: Unicode support added for compilers before Delphi 2009
[*] TElFolderNameEdit: Unicode support added for compilers before Delphi 2009
[*] ElVerInfo (TElVersionInfo): Fixed some issue under Delphi 2007 and below
[*] TElLabel. Small fixes.
[*] ElXTree: bug in TElXTree.InsertItemFromString fixed
[*] TElXTree. Added AJustInsert parameter to SetItemsByString method
[*] Delphi 2009+: New property editor for PNGGlyph properties
[*] TElScrollBar. Change MinThumbSize to 15 from 4.
[*] PngImage editor improved for ElPack controls: Now with dialog which allows to delete/save current images.
[*] ElClock: Timezone error message removed
[*] ElVerInfo: Setter for Language added
[-] ElComboBox and other combobox controls: AV when clicked during designtime in IDE
[-] PngObject problem fixed.
[-] ElXTreeCell: Cell.TextAlignment issue fixed
[-] TElEdit. Fixed Backspace behavior error
[-] ElFlatCtl: wrong (themed) frame when ThemeMode=ttmNone issue fixed
[-] TElTrayInfo. Fixed positioning on multi-monitor system
[-] ElDragDrop: WideFileList property fixed for Delphi 2009+
[-] ElAdvPanel: setting focus for control that cannot be focused - fixed
[-] ElCombos: issue #836 fixed
[-] TElVersionInfo problems fixed.
[-] Fixed TElInspectorDataSource. Fixed exception when user try to can editor for multiline field
[-] Fixed TElInspectorDataSource. Fixed hierarchical items display
[-] ElXTree: issue #840 fixed
[-] TElXTree. Fixed some compilation issues
[-] TElPageControl. Fixes to avoid "no Parent-Window" exception
[-] TElXTree. Fixes to avoid "no Parent-Window" exception
[-] TElXTree: If UseCustomScrollBar = false then the scroll bar doesn't extend up into the header. [-] ElHeader: #858 fixed (garbage in ElXTree header's hint in CBuilder)
[-] ElTree: uncklickable area issue partially fixed
[-] ElDateTimePicker ReadOnly mode issues fixed
[-] ElMenus issue for custom vcl style fixed
[-] ElPageControl activetabfont issue fixed
[Top]

LMD IDE-Tools

[*] IDE-Tools: Component tree speedup.
[*] Property inspector's drop-down list positioning has been tweaked to prevent out of screen regions.
[-] Syntax edit: CSS scheme bug has been fixed.
[-] Designer: Non-visual components disappearing bug has been fixed.
[-] ScriptPack: #831 bug has been fixed.
[-] #834 buf has been fixed: Memory leaks in service provider.
[-] Small LMD-DesignPack related bug has been fixed (TLMDDesignPanel handle recreation).
[-] SortDropDown property of TLMDObjectComboBox has been made published.
[-] UITypes.pas has been added to some units uses to remove compiler warnings.
[-] IDE-Tools: bug with removing focus while closing opened document has been fixed.
[-] IDE-Tools: Project manager's node IsModified problem has been fixed. [-] IDE-Tools: Component bar custom item caption bug fix
[-] IDE-Tools: ProjectManager's SaveAs file path bug fix
[Top]

LMD ScriptPack

[-] The bug which occured during reading IDE library paths from registry has been fixed.
[Top]

LMD SyntaxEdit

[+] Load/Save buttons has been added to syntax and color editors.
[+] Entries renaming has been implemented in color scheme editor (use F2 to rename tokens and custom attributes).
[*] FolderSelect dialog has been replaced to FileOpen dialog with multi-select in edit document component editor menu.
[-] HTML scheme bug fix: scheme now properly skip "\/>" char sequence.
[-] SyntaxEdit: HTML scheme bug fix.
[-] DesignPack: Painting bug in the design panel and IDE-Tools editors view control.
[-] ScriptPack: TDateTime wrapper has been corrected. Now, conversion to Variant will result in varDate Variant value.
[Top]

Archive

[Top]