LMD 2010 - History LMD-Tools

From LMD
Revision as of 18:07, 14 August 2010 by Tyurin (talk | contribs)

Jump to: navigation, search

<< Back to Main Page or Product Resources page

[edit]

Introduction

This documents contains history logs for all LMD-Tools 2010 products (except LMD ElPack and LMD IDE-Tools packages).
First official release: 25-August-2009

Major version numbers are:
LMD-Tools 10.0, LMD BarPack 3.1, LMD ChartPack 2.1, LMD DockingPack 1.1, LMD FxPack 3.1, LMD RichPack 5.1, LMD SearchPack 4.1, LMD ShellPack 5.1, LMD SysPack 4.1, LMD StoragePack 3.1, LMD WebPack 5.1.

Legend
[+] Feature added
[*] Feature changed
[-] Bug fixed

LMD-Tools / LMD Packs History Logs

Release 10.15 (16-August-2010)

[+] TLMDCharSet. Added some overloaded constructors
[-] TLMDHTMLRender. Fixed comment skipping
[+] TLMDCustomScrollBox. PaintBevel is now virtual method.
[+] Added Action support for all TLMDBaseGraphicButton descendants
[-] Fixed memory leak in LMDMapi.pas

[+] TLMDGrid: Added button in the upper left corner of the grid, able to select columns to show
[+-] TLMDGrid: Improved chooser positioning code


Release 10.14 (26-July-2010)

[-] LMDCustomMaskEdit: BTS#780 issue fixed (wrong leading thousand separator for MaskType = meFloatNumber)
[-] LMDCustomTrackBar: thumb painting issue fixed
[-] LMDDBSpinEdit, LMDDBExtSpinEdit: UseDBMinMax, UseZeroLogic flags added. MinValue and MaxValue were ignored if LMDDBSpinEdit was connected to float field - fixed (details http://wiki.lmd.de/index.php/LMD_VCL_-_LMD-Tools_FAQ#LMDDBSpinEdit_and_LMDDBExtSpinEdit:_MinValue_and_MaxValue_issues)
[*] LMDFigures, LMDGradientFrames, LMDThemesGradientThemeBase: some fixes, refactoring and optimizations concerning drawing to bitmaps with alpha channel
[-] LMDRadioGroupButton, TLMDRadioGroup: OnClick event fired twice - fixed
[-] LMDStorPropertiesStorage, LMDStorFormProperties: broken functionality fixed; IsPropListEmpty method added
[-] LMDBaseEdit: Caret vanishing when font changed in mouseenter/exit fixed

Release 10.13 (26-June-2010)

LMD Tools
[+] TLMDMessageDlg added ExecuteWithDefaults method
[-] LMDBaseEdit: Caret vanished when font was changed
[-] LMDCustomMemo: BTS#773 (WantReturns did not work)
[-] LMDStrings: LMDWideBackPos rewritten (AV when calling with empty string fixed)

Release 10.12 (14-June-2010)

LMD Tools
[+] TCustomFileDialog.GetFileTypeIndex method is now virtual
[+] LMDThemes: GetDetails method added
[*] TLMDMessageDlg: Default values for Execute method added
[*] TLMDRegExp.ExecNext method fixed (1 symbol from input stream missed)
[-] FileType setting in OnTypeChange-Event didn't work in TLMDFileSaveDialog (compared to TLMDSaveDialog)
[-] LMDCustomTrackBar: "multiple thumbs" issue fixed (newsgroup report)
[-] Bug fixed TLMDCustomFileOpenDialog.ExecuteOldDialog/TLMDCustomFileSaveDialog.ExecuteOldDialog
[-] TLMDGrid: Bugfixes, extended support for adding/removing columns at runtime
[-] Fixed task dialog issue in Windows 7

LMD ShellPack
[-] Fixed AV when drag&drop items in/to Shell controls

Release 10.11 (19-May-2010)

LMD Tools
[+] LMDMaskEdit: SuppressBlankCharOnDelete property added (BTS #750)
[*] LMDMemo, LMDCustomEdit: DraggingAllowed made published
[-] LMDBaseGraphicButton: lmd-tools newsgroup 17-05-2010 issue fixed
[-] LMDGrid: Minor bugfixes in scrollbar code
[-] LMDDBGrid: AV on dataset open fixed
[-] LMDThemedComboBox: inconsistent look for D2007 and higher when ThemeMode = ttmNone and runtime themes are enabled (non-themed border + themed drop-down button) fixed

LMD DockingPack
[+] Docking site drawing interface (Painter) has been published. New OnGetPainterClass event has been added to the TLMDDockSite class. This allows for advanced users to write custom painters.
[+] The ability to close tabs using middle mouse button has been added.
[*] Drawing code has been improved (to remove flickering).
[*] Re-aligning panels while site resizing has been improved (to remove flickering). All panels now re-positioned in a single step using DeferWindowPos WinAPI.

LMD ThemesPack
[-] Theme Pack demos: some redundant code removed; ElPack demo simplified and fixed
[-] LMDFormThemeProvider: Repaint changed do Perform(WM_THEMECHANGHED, 0, 0) in DoThemeChange method
[-] LMDThemesEngine: issue reported in elpack newsgroup fixed (check & radio group items were not themed in ttmNative when system theme is off)
[-] LMDThemesEngine: LoadCurrentSystemTheme made public, DeactivateTheme simplified

LMD RichPack
[-] LMDRTFRichEdit: TLMDRichEdit.SaveToStreamAsHTML method fixed for unicode Delphi

LMD ShellPack
[-] LMDShUtils: Fixed NOTIFYICONDATA_V3_SIZE redeclared error for C++ Builder

Release 10.10.02 (06-May-2010)

LMD Tools
[+] LMDClass: ForceANSI property added in TLMDApplication class (affects text drawing routines LMDDrawTextExt and LMDDrawTextCalcExt used in LMD Tools, does not affect ElPack)
[+] LMDGraphUtils: Now if LMDApplication.ForceANSI is true, then DrawTextEx are used instead of DrawTextExW in LMDDrawTextExt and LMDDrawTextCalcExt (See http://wiki.lmd.de/index.php/LMD_VCL_-_LMD-Tools_FAQ#Some_notes_on_Unicode_issues)
[+] LMDFormPersistent: foWriteOnClose option added (false by default). This option allows to save changed params when form is closed instead of when it is destroyed)
[+] LMDCustomEdit: ImageList support for special buttons added
[*] LMDCustomBevelPanel: NoHandleUpdate flag made published so that user could use workaround for issues with recreating window when Bevel properties are changed
[+] LMDBevel: ModeChanging flag added to minimize number of window recreations when Bevel's props are changed
[+] LMDPageControl: GetTabAreaColor for themed mode (ttmNative) implemented
[+] LMDPageControl: Text color for thememode = ttmNative now is read from theme settings
[+] Added two methods for TLMDPngObject - DrawAt and CopyRect
[*] LMDGraphUtils: LMDDrawParentBackground method added (used in every theme renderer)
[*] LMDThemes: DeactivateTheme method added to LMDThemeServices and to common theme renderer interface
[-] LMDCustomControl: AV when using gradient theme renderers in Win2000 fixed
[-] LMDGraphUtils: broken text painting for Win98 when LMD_UNICODE switch is on fixed
[-] LMDPageControl: tab area color at design time fixed; tab area color issue for standard theme in Win7 fixed
[-] LMDPageControl: Tab area color issue for standard theme in Win7 fixed
[-] LMDFigures: unused code removed
[-] LMDPageControl: minor fix for design time
[-] LMDSpinEdit: minor fix (up button region was one pixel greater than needed)
[-] LMDThemedComboBox: 120-96 DPI issue in Vista fixed (newsgroup report)
[-] LMDCustomMaskEdit: input of incorrect date (e.g. 31.11.yyyy) caused value equal to zero date (30.12.1899) - fixed
[-] LMDDateFormat: Exception.Create without raise is redundant - outcommented
[-] LMDIniCtrl: readDate and ReadDateTime made independent of what date separator was used at the moment when ini-file was saved
[-] LMDStrings: LMDAnsiIsSpace now returns true for ' ' (#32) symbol
[-] LMDFormPersistent: if form is created but not shown, then stored params were overwritten by defaults when form was destroyed, which is incorrect - fixed (now params are rewritten only if form was shown)
[-] Fixes of LMDFaceController+LMDStyleManager caret-related issues in LMD*Edit controls
[-] LMDFaceController: instance of linked LMDStyleManager was destroyed when destroying instance of LMDFaceController - fixed
[-] LMDCustomExtCombo: modified-state styles were not updated - fixed
[-] LMDTrayIcon: ShowBalloonHint - incorrect calculation of HintSize - fixed
[-] LMDFillers: minor range check fix

LMD SysPack
[+] LMDSys*: Added new sys info components for viewing system Services and Drivers
[*] LMDSys*: Fixed issue that appears in unicode delphi for EventLog
[-] LMDSysEventLog: Fixed unicode issue in event log
[-] LMDSysServiceInfo: D6 and D7 compilability fix

LMD RichPack
[*] LMDRTFRichEdit: Fixed incorrect filling text in TLMDRichEdit.GetRTFText method under D2009+
[-] LMDRTFRichEdit: scroll after save issue fixed
[-] LMDRTFLabel: URLs in angle brackets were not recognized - fixed
[-] LMDRTFRichEdit: incorrect hpp generation - fixed (newsgroup report)

LMD ThemesPack
LMDThemesGradientThemeBase
[-] Bug in enabling/disabling theme logic fixed
[*] A call to DeactivateTheme added in LoadThemeFromStream
[+] Rendering of CheckBox, TrackBar, RadioButton, Progressbar minor fixes and enhancements, minor optimization
[+] Text descriptor types added
[+] Text color customization for teTab implemented (GetThemeColor + GetThemeFont implemented)
[+] LMD NewGradientThemeRenderer demo updated (samples of changing theme in run-time added)
[-] Several glitches of rendering teTab fixed
[+] Loading themes from CAB archives added
[+] Two built-in color schemes added: Metallic(Silver) and Black
[*] LMDThemesCommonTypes: minor updates of scheme constants and names
[-] teProgressBar rendering fixed
[-] Missing elements added to LoadFromStream method, some helper properties added
[+] teToolBar support added
[+] Properties *Fill, *Frame, *Fillers, *Params for direct theme editing added
[-] AV when loading new theme after deactivating one fixed (missing parts added)
[+] SetNewColor method added
[-] ttTopTabItem* (PageControl) drawing improved (several glitches were fixed)

Release 10.09 (26-Mar-2010)

LMD Tools
[+] LMD*Edit controls with buttons: CustomButtons property made published so that Glyph and other props could be easily customized
[-] TLMDCustomCheckListBox: Memory leak when clearing items at runtime fixed
[-] LMDGraph: CBuilder issue with TLMDCornerCut type fixed
[-] LMDVistaDialogs: TLMDCustomFileDialog.FileTypeIndex now return actual value even if dialog opened

LMD Grid
[-] Several Issues fixed when a grid control was used in a frame.
[-] Memory leaks in initialization section of main grid unit fixed.

LMD Packs
LMD ThemePack
[+] NewGradientThemeRenderer demo added
[+] LMDThemesGradientThemeBase and LMDThemesGradientThemeRenderer units added (support of Office2007-like theme rendering for most of standard LMD controls
LMD DockingPack
[*] Some internal fixes has been made to make the pack compatible with Delphi frames, forms-inheritance and design-time clipboard operations.

Release 10.08 (28-Feb-2010)

LMD Tools
[+] New control was added - TLMDFlowPanel
[+] Added OnCustomization event for non-native (pre-Vista) TaskDialog
[-] Fixed Radiobuttons in TLMDTaskDialog now correctly show long text
[-] LMDBaseEdit, LMDCustomMaskEdit: error when non-empty suffix is used with IntRangeValidator fixed; double validation message issue (newsgroup) fixed; AsInteger issue fixed (out of range value was randomly changed)
[+] LMDProcs: some helper functions for rects and points added
[*] LMDFigures, LMDFillers: some refactoring and additions for new gradient theme renderer
[*] LMDGradientFrames, LMDThemesCommonTypes: some additions, fixes and refactoring
[-] BTS #759 (background of LMDEdit controls in Windows7) fixed
[+] LMDThemesWindowsXP: implementation for ClipRect in DrawThemeBackground added
[-] LMDRTFRichEdit: popup menu misplacment in Delphi 2009 fixed

Release 10.07 (28-Jan-2010)

Help file installer (updated)
[*] Improvements for Delphi/C++ Builder 2010 Help integration
[+] Win32 Help installer include again Delphi/C++ Builder 6 Helpfile integration options

LMD Tools
[-] TLMDTaskDialog fixed disappearing collapse button when collapsed/expanded text is empty, fixed line breaks for expanded text
[-] Removed OwnerDocument dependency for get_text.
[+] Added DefaultBOM constant.
[+] LMDCustomMemo: LineGap property added
[+] LMDFillers, LMDFigures, LMDGradientFrames units added to lmdrtlx package
[+] LMDGraph: TLMDCutType added
[-] String res units updated
[-] LMDGrid: Mouse wheel support fixed.
[-] LMDThemes: Disabled ElToolButton issue fixed (rep. in newsgroup 27/11/2009 "Disabled ElToolButtons")
[-] LMDHTMLUnit. Fixed WordWrap behavior. reported by Bernhard Geyer

LMD Packs
LMD DockingPack
[+] Some visual style customization properties has ben added. Look at TLMDDockPanel.HeaderStyle and TLMDDockSite.Style properties.

LMD ThemesPack
[+] LMDThemesCommonTypes unit added
[*] Preliminary refactoring for introducing new LMDThemesGradientThemeRenderer class
[-] LMDThemesSGThemeRenderer: cliprect did not work, fixed
[-] LMDThemesSGThemeRenderer: ToolBar&Toolbar buttons rendering fixed

LMD WebPack
[-] LMDMapi: BTS #755 (n attachments have all the same content ) - fixed

LMD RichPack
[-] LMDRTFRichEdit: BTS #756 (The component PopupMeny do not work in LMDDBRichSyntaxEdit and LMDRichSyntaxEdit) - fixed

Release 10.06 (16-Dec-2009)

This is mainly a release to work around a problem introduced with recent Delphi 2010 Updates in the shared runtime. The following line:

TLMDOnHeaderWrite = procedure(Sender : TObject; var Target : Text) of object;

causes now a TI894 internal error.
This method signature is used OnHeaderWrite events in TLMDApplication class and TLMDApplicationCtrl control. For Delphi 2010 and above this line is now changed to:

TLMDOnHeaderWrite=procedure(Sender : TObject;const Target: TStringList) of object;

This is a breaking change. If you used this event you need to change your code slightly (add your header lines now to Stringlist instead writing to a TEXT variable.
Please also note that this problem appeared for source code user in Delphi/C++ Builder with Update 2 or higher only. If you are not affected by this problem there is no need to update to .06 release.
[*] Memory leak in LMDVistaDialog.pas was fixed.
[+] Added OldFilter property for TLMDCustomFileDialog.FileTypes, you now be able to set old filters like this Text files (*.txt)|*.TXT
[*] Added default option to enable sizing in dealogs in OSes previous than Vista
[*] TLMDPngObject - fixed drawing on Vista glass

Release 10.05 (14-Dec-2009)

LMD Tools
[-] LMDGraphUtils: text rendering and related helper routines: unicode support for d6-d2007 added
[+] LMDBaseEdit and descendants: IME input support added, clipboard operations with unicode text support added
[+] LMDCustomMemo: unicode streaming routines SaveToStreamW, LoadFromStreamW, SaveToFileW, LoadFromFileW added
[+] LMDButtonBar: ttmPlatform and ttmNative modes improved
[-] LMDThemes:DrawElement for teComboBox fixed
[-] LMDCustomMaskEdit: DecimalSeparator=ThousandSeparator check added
[+] LMDProcs, LMDGraphUtils: fill&color utils added for extended gradient library
[+] LMDFontComboBox: foHideAtPrefixedFonts option added to TLMDFontCBOption
[-] LMDZCommonUnit: memcpy renamed to LMDMemCpy to avoid ambiguity with 'std::memcpy' from mem.h
[-] LMDCustomCheckBox: fixed bug in focus painting when Caption="
[+] LMDCustomExtSpinEdit: added SpinBtnVisible protected property
[+] LMDCalculator: Precision property added

LMD ThemesPack
[+] LMDThemesSGThemeBase and desc: TThemedToolBar now supported
[+] TLMDThemesSG(Ext)ThemeRenderer Demo updated (ElXTree, ElToolBar, LMDButtonBar added), sample themes improved
[-] "Suspicious conversion of char to widechar" message when LMD_UNICODE is undefined issue fixed
[-] LMDThemesSGThemeBase: fixes in rendering teComboBox
[+] TLMDBaseSGThemeRenderer: support of ElXTree added
[-] Support of ElXHeader fixed
[-] ElExpBar: TElExplorerBarGroupButton theme draw issue fixed

LMD RichPack
[+] LMDRTFFontComboBox: property for hiding @-prefixed fonts added

LMD DockingPack
[+] BeforeRead/BeforeWrite events has been added for TLMDDockPersister.
[-] The bug with vertical text on "auto-hide" tabs has been fixed.

LMD Grids
[-] fixed bug in working with BDE tables
[+-] added compatibility with more data types for some Choosers
[+-] TLMDGridCheckBoxColumn now can work with string/bool/int types in DB-aware Grid too
[-] Minor bugs with theme support and checkbox painting fixed

LMD ShellPack
[-] LMDShController: renaming item in one control was not reflected in other shell controls (e.g. if there are both shelllist and shelltree on the form)
[-] LMDShList: Fixed range checking error under Delphi 2009+ when TLMDShellList changes view mode (List, Report, Small Icons etc)

LMD StoragePack
[-] LMDStorPropertiesStorage: empty property list were stored causing empty ini files - fixed

Release 10.04 (23-Nov-2009)

LMD Tools

[+] LMDEditAutoComplete: Selection by mouse added; mouse wheel support added
[+] LMD*Const.pas: missing string resources files added, existing string res files checked for consistency with english variant

LMDBaseEdit, LMDCustomMaskEdit, fixes for MaskType = meMask:
[-] Cut/Paste - cutting left spaces instead of mask symbols; insert did not work
[-] Value set in DFM was ignored and overwritten in Loaded method
[-] Fixed bug in convertVCLMask2LMDMask ("!" symbol now supported)
[-] Fixed bug in isLiteral function
[+] Public function FormatTextByMask added (the logic same as in SetUnMaskedText)
[-] LMDBaseEdit.pas: fixed base edit descendant flickering on some properties set

[+] LMDGradient: Separator for gradients added, allowing zero-transition area
[+] LMDCalendar, LMDCal: added "inactive" days - end days of previous month and start days of next days

[-] LMDButtonControl.pas: AutoSize applied when Caption changed
[-] LMDFiles.pas: Fixed file creation error in TLMDFileStream (Delphi 2010)
[+] LMDBevel, LMDCustomBevel: lmdbevel has non-nil owner now

BTS #628 related fixes:
[-] LMDGraphUtils: LMDDrawTextExt fix for TLMD3DCaption
[-] LMDGraphUtils, LMDCustomLabel, LMDCustomSimpleLabel: multiline rotated text alignment
[-] LMDGraphUtils: Broken LMDDrawTextExt for angle = 0 and tracing = 0 fixed; text align fixed
[-] LMDCustomLabel: TopCenter and TopRight alignment did not work - fixed
[+] Multiline rotated text support added in FontFX
[-] BTS#749 fixed (incorrect text align in TLMDPageControl when TabPosition is other than tpTop)

LMD Grid
[+] TLMDGrid, TLMDDBGrid: New features implemented
[+] Custom parse/format events implemented for columns: TLMDGridTextColumn, TLMDGridDateColumn, TLMDGridFloatColumn
[+] Choosers for different columns implemented: TLMDDateChooser, TLMDCustomChooser, TLMDPickListChooser, TLMDLookupChooser. See Chooser property of column.
[+] Custom data source introduced for "virtual mode": TLMDGridCustomSource. See Grid.CustomSource property and example in demos.
[+] Custom painting for data/header cells implemented with events: Grid.OnDrawDataCell/OnDrawHeaderCell/OnDrawIndicator.
[-] LMDGrid.pas: fixed BCB6-BCB2010 compilation bug
Demo available on public download page.

LMD WebPack
[-] LMDWebHTTPGet.pas: Added slash to folder name before append file name
[-] LMDDownload.pas: Added ability to set RangeEnd to negative values

Release 10.03 (15-Oct-2009)

[-] LMDGraphUtils: BTS #628 fixed; rotation support for multiline text added (FontFX.Angle <> 0)
[+] LMDWindows7Utils: Missing declarations for Windows 7, Delphi 2009
[+] LMDSysPrinterInfo, LMDSysConst: BTS #743 Paper bins information added
[+] LMDCustomExtSpinEdit: CheckOnExitOnly property added
[*] LMDBevel: PaintBevel method made virtual [-] LMDCustomExtSpinEdit: TLMDCustomExtSpinEdit: self.SetFocus replaced to Windows.SetFocus(self.Handle) in spinedit button click handler. This fixes problems with ActiveControl when spinedit is used as inplace edit in TLMDGrid or similar component. Also, this is better and more standard method to acquire focus
[-] LMDCustomMemo: white inner border issue fixed
[-] LMDClass: BTS#736 issue (application theme setting was ignored) - fixed
[-] LMDDlgEx: Fixed multi select
[-] LMDXML: Fixed BTS #741 (ILMDXmlElement.GetDateTimeAttr did not work)
[-] BTS #747 issue (TLMDValidationGroup and TLMDErrorProvidersGroup - AV when removing from Form) fixed
[-] BTS #744 issue (LMDXML String Reading and Writing was broken)- fixed

Release 10.02 (02-Oct-2009)

LMD Tools
[+] LMDHeaderControl separate component added
[-] LMDRegExpr - AV on exception handling (by unmatched parentesis syntax error) fixed
[-] LMDXML Fixed unicode variant conversions

LMD FXPack
[+] LMDFxImage: bitmap backgrounds support added (transparency on bitmapped backgrounds fixed)

InspectorPack
[+] Dynamic properties support. Very simple to use; see OnDynPropsDefine, OnDynPropGetValue and OnDynPropSetValue events.

LMD RichPack
[-] LMDRTFRichEdit: issue with loosing RTF format when loading large files fixed.

LMD DockingPack
[-] Following issue has been found and fixed: Improper dock panels Width/Height while loading it's child controls from dfm (e.g. while reading parent form).

LMD SysPack
[-] Fixed string information retrieving for unicode Delphi versions

Release 10.01 (08-Sep-2009)

LMD Tools
[*] LMDCaret: CanEnable property made published
[+] LMDCustomEdit: virtual method ShowCueBanner added
[-] CueBanner rendering fixed for backgrounded controls
[+] LMDCustomMaskEdit: AsInteger can now be used with MaskType = meMask
[-] LMDCustomMaskEdit: BTS#734 fixed
[+] LMDTaskDialogTemplate: Ctrl+C support added
[+] LMDCopyTextToClipboard global method added to LMDUtils
[-] LMDCustomSimpleLabel: AutoSize was broken - fixed
[-] LMDButtonControl: TLMDButtonControl.GetChange - HandleAllocated check added
[-] LMDSysIn: CaptionButtons on a form with BorderStyle=bsToolWindow did not work - fixed
[-] LMDCaptionButtons: AV in D2010 removed
[-] LMDCustomMemo: LoadFromStream and SaveToStream returned to Ansi until TLMDMemoStrings is replaced by TLMDMemoryStrings (or made its descendant)
[+] LMDBiTrackBar component added
[+] LMDBiProgressBar component added
[-] LMDDlgEx: Multiselect bug fixed

LMD SysPack
[-] TLMDSysNetwork IPList bug fixed (D2009)

LMD ThemePack
[-] LMDThemes* units: LMDThemeEngine division by zero for some msstyles fixed
[-] Trying to load Vista system theme caused AV on application start - fixed

LMD DockingPack
[-] The bug #0719: Wrong panel position while undocking of a panel on a Multi-Screen System has been fixed.

Release 10.0 (25-Aug-2009)

Initial Release.