New in 3.63
Major
- FMXLinux support for HCL, Editor and Reports http://fmxlinux.com/tlist.html
- DirectX canvas (VCL).
- Native iOS canvas
- Export to PDF on iOS
- New VCL controls - THtSpeedButton,THtPopupMenu, THtComboListBox.
- Print preview frame for Delphi 6 - 2010.
- Print preview frame for FMX.
All/Core
- Added .selected class to ThListBox selected item so now style for elements inside selected item can be defined separately:
- Improved parsing and style calculation speed (espetially for Delphi 5 - 2010) by using new dictionaries class.
- Custom color conversion event - f.e. document can be displayed in B/W colors.
- Added THtDocument.AllImagesLoaded function
- Added THtPanel.OnAfterImageLoaded event
- Added THtPanel.OnImageLoadFailed event
- Added THtPanel.SetDPI method.
- Added THtDocument.AfterControlCreated event
- Added Emoji support for FMX canvas
- Various enhancement in SVG support
- Added FMX.THtPanel.ScrollY method.
- Added support for enumeration properties in <control> element.
- Changed embedded control propeties now are saved when using InnerHTML/OuterHTML
- Added codepage into THtDocument.SaveFileAnsi method.
- Added THtDocument.SavetoFileANSIEncoded (all unicode symbols are saved in ... format).
- Added support for nested SVG images
- Added THtListBox.OnGetImage event
- Improved @media queries support.
- List items now converted into plain text with "* "
- Added support for body leftmargin, topmargin, marginwidth, marginheight attributes.
- Improved support for incorrect tag order. F.e. now <a> <span> <i> </span> </i> </a> now is treated as <a> <span> <i> </i> </span> <i> </i> </a>
- Better customization of input (edit) element on FMX via CSS - background, border.
- Added TElement.Focus method - set focus to element.
Editor
- Better HighDPI support for Editor controls (ColorCombo, AddTableCombo, BorderCombo, TableBorderCombo)
- Added OnKeyUp event.
- Added TDOCXConverter.ParseStream / ConvertStream methods.
- Added TRTFParser.OnPrepareImage event for converting not-HTML images (like WMF)
- Improved RTF import.
- Added THtTemplateStorage.Clear method.
- Column width is displayed while resizing table column.
- THtTableDeleteRow now can delete sevral (selected) rows
Reports
- DATAPACKET now can have several DETAIL packets
- Added required and required-message attributes to report objects for checking that required parameters was passed to report.
- Templates are now processed before datapackets, this allows using datapackets inside sections for master-detail relation.
Example:
{{#customers}}
<DATAPACKET>
..<SQL>.. where cust_id={{CUST_ID}}
{{/customers}}
- New template functions = formatmoney, formatdate, eq
Reports/Charts
- Added minx, maxx, miny, maxy Series attributes
- Added reverse-x reverse-y Series attibutes for reversing axes direction.
- Added Series order attribute for arranging series values.
- Added SQL filter attribute for filtering series values.
- Added Series maxcount attribute to limit series values count.
Scripter
- Added "unit/uses" support
- Added typed array support (f.e. a: array of integer) in function/method parameters.
- Added typed array support in variable declaration.
- Added record support for field/property/method result
- Added soAutoFreeComponents to Script.Options
- Generic handlers can process properties and class methods including constructor
- New function registered with the same name replaces previous.
- Added function call stack for debugging or getting current function name in magic function.
- Significant speed improvement when calling methods via RTTI
- Added support for widestring type.
- Added support for variant type parameters.
- Added support for "set of" parameters.
- Added typecast for classes - TSomeClass(SomeExpression)
- Added ExceptionStack property - call stack when exception was raised.
- Added support for exception re-raising inside except end block.