|
• LMD IDE-Tools 2016
General Information
Introduction
Key Features
Order Links (switches to order page)
Downloads (switches to download page)
Screenshots
IDE example project
Event support
Creation Order dialog
Breakpoints View
Event Log View
Other debugging related UI controls
Modern IDE Look
InspectorPack
LMD DockingPack 2016
VCL Styles Support (1) in IDE-Tools 2016
VCL Styles Support (2) in IDE-Tools 2016
VCL Styles Support (3) in IDE-Tools 2016
Component Overview
Components of LMD IDE-Tools 2016
New features in Version 2014
- LMD DockingPack: Create your own docking styles with the new visual editor!
- New integrated package: LMD DialogPack
- DesignPack: Speed improvements
- ScriptPack: Support of VCL/RTL features of new Delphi/C++Builder releases
- ScriptPack: XE4, XE5 + XE6 importer files
New features in Version 2013
- 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
New features in Version 2012
- Code normalisation for 64bit support.
- Native languages (PasScript and NativeVB) VM and compilers has been adapted to x64 platform. This includes optimized Variant operations, used by VM.
- The parser of the LMD-ScriptPack Importer Wizard pasrser has been improved; for example, it is able currently to parse Delphi generic (templates) as well as other new Delphi language constructs. So, the whole VCL can be parsed without parse errors.
- LMD-ScriptPack Batch Importer is able currently to process specified units in the "uses" recursion order, making the use of the batch importer much easier. As well, some importing units can be marked as "supplemental"; in this case the importer will automatically uncheck everuthing inside the unit that is not used by other (non-supplemental) imported units. This is a great help while importing units such as WinAPI units: Windows.pas, AtiveX.pas, ect.
- Based on new Batch Importer functionality, the VCL has been fully reimported. So, LMD-2012 release contains true reimpoting of VCL, not just a port from previous release. Thus, all new functionality (classes, methods and properies), which is compatible with script-pack should be accessible from the script.
- For Delphi 2010 and up embedded view is used for Importer Wizard as well as for Batch Import form. Importer Wizard is now appears as a lower tab in Delphi source editor, Batch Import form - as a top source editor tab:
- Script importer performance has been improved.
- Support for optional parameters in imported script wrappers. XE2 introduces many additional optional parameters in VCL functions (one example - DirectroyExists function).
- Support for default properties in imported script wrappers. Now, its possible to write Memo.Lines[i], instead of Memo.Lines.Items[i].
- Partial support for overloaded procedures/methods in imported script wrappers. Wrappers code now support overload resolution by parameter count; however, overload resolution by parameter types are not supported.
New features in Version 2011
- PasScript compiler optimization has been added: If a jump (conditional or unconditional) byte-code instruction points to another unconditional jump instruction, this first jump instruction is retargeted to prevent jump sequences.
- PasScript compiler optimization has been added: JumpIfEqual/JumpIfNotEqual byte-code instructions has been added to VM. Compiler logic has been improved to use these commands instead of sequence of two (Compare + JumpIfTrue/JumpIfFalse) byte-code instructions. This improves the speed of interpreting expressions used in If/While/Until conditions as well as incomplite boolean evaluation operations "or" and "and". Following this strategy, common cases like "while true do", "until false" has been optimized. Now, compiler emits single unconditional jump byte-code instruction instead of pushing constant onto stack and performing conditional jump Following:
- Native LMD VBScript like Basic implementation (LMD 2011.1)
- InspectorPack/DesignPack: Dynamic Properties (LMD 2011.2)
New features in Version 3
- New PascalScript Language support added. Unlike the previously MS ActiveScripting based languages this is a 100% native VCL implementation without need of external dlls. The PascalScript engine includes an optimizing byte code compiler and very fast interpreter.
The PascalScript language is a dynamic Variant based script language that supports most of the Delphi Pascal expressions and statements like
- procedure/function declarations
- const/var/out parameters
- global/local variables and constants.
- Extended support of exception handling, e.g. raise, try-except and try-finally statements; real Delphi exceptions are raised internally that allow to test an exception class in handler, e.g. on E: EZeroDivide do.
- The PascalScript CodeObject engine implements a secret interface (in addition to IDispatch) that allows very fast interoperations between connected script controls. Besides that execption processing can be made transparent between connected script controls.
- Native script operators such as 'is', 'in', '@' and set constructors, e.g. [akLeft,akTop] allow to work with imported Delphi objects, instead of provided to ActiveX scripts special functions (e.g. SetMake, SetEmpty, ClassIs, EventMake, ect.). Like for the ActiveScripting based languages import units of your Pascal units can be created. Import units for the VCL are shipped with each copy of ScriptPack.
- 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.
- Generated wrappers have been changed to provide types of properties (e.g. var-types) to the debugger.
- 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. All these constructs, except nested types and class helpers, are fully supported by the generated wrappers.
- 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.
New features in Version 2
- New TLMDSimplePropertyInspector control. The property inspector has been splitted from the Design Pack into separated LMD Inspector Pack. The TLMDSimplePropertyInspector represents a new designer independed simple property editor, which can be used for objects without designer. This lightweight control can be used, for example, to organize application Options dialogs. The existing TLMDPropertyInspector control in the Design Pack is now fully designer oriented.
- New TLMDComponentBar control. BDS like component palette. Works even in Delphi/C++ 6.
- Updated TLMDComponentPalette control. Delphi 7 like drop-down list can be shown in cases when there are too many components on the page.
- It is now possible to design forms (TCustomForm descendants) in the TLMDDesignPanel. This allows to develop BDS like IDE user interface.
- New designer ShowRootResizers property allows to show mouse handles to resize the root inside design panel.
- New global components modification notifications feature allows to synchronize shown in Design Pack controls content without any links between controls. Useful e.g. if for example you move some Vcl control by the designer, the Left and Top property values will be automatically updated in the property inspector. Or: if you rename some Vcl component in property inspector, the object combo box will automatically update shown component name.
- The global components modification notifications allow to detect when components located inside module root are modified. New TLMDModule.OnCompsModified event can be easily used to detect such modifications, instead of several old events of designer or property inspector.
- The global components modification notifications allows to provide more correct notifications, finding correct module for the modified component. Imagine that you edit by the property inspector the TClientDataSet component from one module that refers to the TDataSource component from another module. Since the property inspector can edit linked data source component properties (by expanding DataSource property) it is important that as a result of such modification a second module will receive the notification, but not the first one.
- All design pack controls are now closely oriented to work with designer. So, EditorWindows has been removed from all controls except the TLMDDesigner. All other controls will automatically search for the appropriate designer in cases when the editor window manager is required. There are no connection to service provider required, because it is always possible to map editing control to its module (designer).
- User request: New TLMDModule.OnGetLoadingCompRef event added to allow to dynamically load modules in the presence of inter module component links. The Vcl allows to do this only starting from Delphi 2005, so this event is not available in Delphi 7.
- New TLMDProjectManagerView control: delphi project manager like control. Links to TLMDProjectManager component and shows current project's content.
- New TLMDDocEditorsView control: Delphi 7 like tabbed control that shows document editors. The control automatically interoperate with linked TLMDProjectManager. The document editors should be developed as a frames, and the only required code is to provide editor frame instance for opening document in the OnCreateEditor event handler.
- ScriptPack: VCL.NET support added
- SyntaxEdit: Drag and drop text support.
- Bugfixes and enormous speed enhancements.
- Auto-completion API added. Completion supported: based on document text, or custom completion, based on events. See TLMDEditView.CompletionSettings, OnFillCompletionList, OnCompletionReplace, OnCompletionCustomDraw, OnCompletionMeasureItem properties/events.
- Simple text highlight API added: HighlightSettings, Add/Remove Highlight. Useful to highlight some errors or some search results. See TLMDEditView.HighlightSettings property, and TLMDEditView.AddHighlight, RemoveHighlight, ClearHighlight methods.
- UTF8 text auto-detection improved: now detection of UTF8 without BOM is supported
- Other improvements like Addict 4 support, themed border support, improved dialogs and much more.
Features
- Includes 35+ controls for setting up a complete IDE like environment in a quick and easy way.
- Includes LMD DesignPack. The design features are represented by object inspector like controls, extended form designers, diagram like objects, etc.
- Includes LMD ScriptPack. Includes script control, script source management helpers and multi-module script debugger component.
- Editor features are provided by the SyntaxEdit control which supports syntax highlighting, code folding and ultra fast text-handling.
- The high level components of the IDE integration package provide solutions for common IDE like applications. Examples are component palette, Delphi like object tree, project manager, support for component and property editors, helpers for design/code handling etc.
- Full sourcecode of library included
- Extensive demo projects with sourcecode
- Free updates via Internet (Version 2014)
- A Site License covers unlimited number of developers in same organization at one location
- Free technical support via forum (forum.lmd.de), e-mail, fax or mail
- Also available as part of LMD VCL Complete
|