Difference between revisions of "LMD VCL 2010 - What's New?"

From LMD
Jump to: navigation, search
(New page: {{Head-Getting started}}Category:Introduction == General == === Support for IDEs and operating systems === * Compatible with Delphi 2010 and C++ Builder 2010! * Supported IDEs ** Delp...)
 
Line 73: Line 73:
  
 
== LMD IDE-Tools ==
 
== LMD IDE-Tools ==
 +
* Native Pascal Script included
 +
* Pascal script debugger: Native debugging of the PascalScript, including single-threading debugging. The single threading debugging allows to handle OnBreak event in the same thread; using Application.ProcessMessages inside the OnBreak event handler allows to organize single threading debugging of the event based (e.g. designed) UI applications.
 +
* New AddOrSetValue and TryReadValue script control methods to add/modify/read the external variables of simple types, e.g. numeric, strings. E.g. to prevent creating and importing model in simple cases.
 +
* New ReadVar/WriteVar script controls methods provide access to the script-code global variables.
 +
* New DebugName script control property to represent the script control to the end user in the IDE-Tools debug-related UI controls, such as call-stack or breakpoint-list.
 +
* Superior enhancement of the debugger breakpoints: Delphi like breakpoints actions - LogMessage/LogStackFrames/EvalExpression/EnableGroup/DisableGroup; Delphi like breakpoint properties - Enabled/Condition/PassCount/Group. These advanced concepts has been emulated for the ActiveX based scripting languages, and supported natively by the PascalScript debugger.
 +
* The debug variables tree, e.g. TLMDVariables is now lazy initialized to prevent dead loop while working with complex circular referenced objects. This also allows optimizing resources when showing complex objects graphs or long arrays.
 +
* Generated wrappers have been changed to provide types of properties (e.g. var-types) to the debugger.
 +
* The bug with representing nil objects as a variant Null has been fixed. Now nil objects are represented in wrappers as a nil IDispatch, e.g. with varDispatch variant type.
 +
* The importer parser has been enhanced: new incremental preprocessor are now able to interpret some of the $IF directives; the parser itself are now able to parse most of the new Delphi language constructs, like nested types/consts/vars, class properties, methods and properties in records, class helpers, ect. However, currently, most of the new constructs are only parsed, but not supported by the wrappers generator.
 +
* New debugger related visual controls: TLMDCallStackView, TLMDCallStackComboBox, TLMDVariablesView, TLMDWatchView, TLMDEventLogView, TLMDBreakpointsView. All these controls are connectable to the debugger through easy to use TLMDDebuggerSource component.
 +
* The bug with improper showing of non-visual components when ShowNonvisualComponents are set to False has been fixed.
  
  

Revision as of 23:14, 27 August 2009

<< Back to Getting started page

[edit]

General

Support for IDEs and operating systems

  • Compatible with Delphi 2010 and C++ Builder 2010!
  • Supported IDEs
    • Delphi 6, 7, Delphi 2005 - 2010
    • C++ Builder 6, 2006 - 2010
    • 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, ERS 2010 etc.)
  • Supported operating systems
    • Win98 and WinNT4 or better (including Windows 7).

For recent Delphi releases same platforms as the IDE are supported (e.g. Delphi 2009 officially supports Win2k or better only).

Common new features

  • Improved shared Unicode support, including additional rework for native Unicode in Delphi 2009 and higher.
  • Many minor improvements in the shared packages based on customer requests, examples are:
    • BTS# 733, adapting behaviour of TLMDWideStringList.IndexOf functionality
    • LMDStrings: LMDCheckWildCardMask method added.
    • LMDGraphUtils: LMDExtTextOut method added.

New Packages

  • LMD DockingPack - Add docking features with floating panels and hot zones as known e.g. from Visual studio! This package is included by default in LMD-Tools and LMD ElPack.

Standalone Packs with major updates

  • LMD ScriptPack - in connection with IDE-Tools: Heavily improved Debugger Support for both ActiveScripting Engine based languages and the native PascalScript variant.
  • LMD ThemePack
    • Improved support for built-in themes (runtime customization) including saving/restoring theme data to/from XML files.
    • DrawThemeEdge and GetThemeColor methods implemented.
    • Batch edit methods added (ReplaceColor, SetNewColor, ChangeBrightness).
    • LMD Office2003ThemeRenderer demo improved and can be now used for generating custom color schemes:

LMD-Tools

Shared Runtime

  • Windows 7 support.
  • Correct PNG support e.g. in FillObject propertes (as available in ElPack)
  • Improved rendering of the integrated internal HTML engine

Main Controls

  • New Control: TLMDBiProgressBar. Support 2 progress indicators in one control and additional marquee and infinite modes.
  • New Control: TLMDBiTrackBar. Allow 2 thumb controls to specify two values or ranges.
  • New Control: TLMDGrid with advanced features like
    • Full support of LMD ThemePack
    • Customizable inplace editors
    • Insert/delete/move colums at runtime
    • Column sorting and much more

A lot of work is in progress here, the R2 release will add many more predefined place editors along with the DBGrid variant.

  • TLMDCustomEdit (and descendants):
    • CueBanner property added. This property has effect for those descendants of TLMDCustomEdit that can contain empty text. Unlike the Delphi implementation (available from Delphi 2009 on) this feature works on any supported OS.
  • TLMDMaskEdit
    • Value getters are now setters, too. The existing functions AsInteger, AsCardinal, AsInt64, AsFloat, AsDate, AsTime, AsCurrency, AsString have been transformed to read/write properties.
  • TLMDStyleManager
    • Improved designtime editor (e.g. property filters with wildcard support)
  • ListBox Controls: Default items can now be set at designtime

LMD BarPack

TLMDExplorerBar
MouseDown and MouseUp within sections now are translated to ExplorerBar events.

LMD ElPack

  • DockingPack included
  • TElXTree
    • GetNextChecked and GetCheckedCount methods added. These methods are based on LookForItemEx2 method and can be used with such flags as IterateBackward, CheckStartItem, SubItemsOnly, VisibleOnly, CountCollapsed.
    • Drag&Drop header with scrolling
  • TElListBox
    • Advanced/Extended OnChange/OnClick events (which can be used as item selection notifier)
  • TElStyleManager
    • Improved designtime editor (e.g. property filters with wildcard support)
    • Apply Button which allows to review changes before closing the dialog
  • TElExpressionEval: Improved error handling
  • TElHTMLLabel: Vertical Spacing added (LineGap property)

LMD IDE-Tools

  • Native Pascal Script included
  • Pascal script debugger: Native debugging of the PascalScript, including single-threading debugging. The single threading debugging allows to handle OnBreak event in the same thread; using Application.ProcessMessages inside the OnBreak event handler allows to organize single threading debugging of the event based (e.g. designed) UI applications.
  • New AddOrSetValue and TryReadValue script control methods to add/modify/read the external variables of simple types, e.g. numeric, strings. E.g. to prevent creating and importing model in simple cases.
  • New ReadVar/WriteVar script controls methods provide access to the script-code global variables.
  • New DebugName script control property to represent the script control to the end user in the IDE-Tools debug-related UI controls, such as call-stack or breakpoint-list.
  • Superior enhancement of the debugger breakpoints: Delphi like breakpoints actions - LogMessage/LogStackFrames/EvalExpression/EnableGroup/DisableGroup; Delphi like breakpoint properties - Enabled/Condition/PassCount/Group. These advanced concepts has been emulated for the ActiveX based scripting languages, and supported natively by the PascalScript debugger.
  • The debug variables tree, e.g. TLMDVariables is now lazy initialized to prevent dead loop while working with complex circular referenced objects. This also allows optimizing resources when showing complex objects graphs or long arrays.
  • Generated wrappers have been changed to provide types of properties (e.g. var-types) to the debugger.
  • The bug with representing nil objects as a variant Null has been fixed. Now nil objects are represented in wrappers as a nil IDispatch, e.g. with varDispatch variant type.
  • The importer parser has been enhanced: new incremental preprocessor are now able to interpret some of the $IF directives; the parser itself are now able to parse most of the new Delphi language constructs, like nested types/consts/vars, class properties, methods and properties in records, class helpers, ect. However, currently, most of the new constructs are only parsed, but not supported by the wrappers generator.
  • New debugger related visual controls: TLMDCallStackView, TLMDCallStackComboBox, TLMDVariablesView, TLMDWatchView, TLMDEventLogView, TLMDBreakpointsView. All these controls are connectable to the debugger through easy to use TLMDDebuggerSource component.
  • The bug with improper showing of non-visual components when ShowNonvisualComponents are set to False has been fixed.


Changes/Enhancements since initial LMD VCL 2009 release

LMD-Tools

LMD Standalone Packs

LMD ElPack

LMD IDE-Tools

Archive