Home CSS Editor Reports Office Code Gallery Download Order Contacts

New in 4.9

  • WebUI - new LowCode Web framework for Delphi.
    • See https://youtu.be/XCmvz2DPN4Y
    • Documentation: https://delphihtmlcomponents.com/webui/
    • Sample project: https://delphihtmlcomponents.com/webui.zip
      How to use
      1. Extract files from zip.
      2. Run nw.exe (requires Administrator because uses http.sys web server)
      3. Enter your DB connection details or leave demo DB
      4. Press Create UI
      5. After UI is created press Start server and open http://localhost:8080 in browser.

      Customers with active subscription on HTML Library bundle will get WebUI for free.
      Customers with active subscription on any delphihtmlcomponents.com product on October 23, 2024 can upgrade to Bundle and get WebUI for free.
  • Core
    • New THtListView component (VCL/FMX) - display data in listview-like layout with full HTML support.
    • THtDocument.AsBitmap method - convert document to bitmap.
    • New printing parameter - PrintAsBitmap. Useful when printing white text over black/colored background.
    • TElement.AddCSSRecursive(const CSS: string; UpdateStyleAttr: boolean = false) - set property for element and its descendants.
    • SVG: support for switch element.
    • THtXMLNode.JSON method - save to JSON
    • THtXMLNode.XML property - set node inner XML.
    • THtJSONSerializer class - serialize objects and records into JSON.
    • Templates: support for conditional sections:
      {{@name}}..{{/name}} - name is not empty
      {{@!name}}..{{/name}} - name is empty
    • Templates: new class functions for rendering and JSON support (result is encoded as JSON):
      RenderTemplate(const ATemplate: hstring; AContext: THtXMLNode; JSONMode: boolean = false): string;
      RenderTemplate(const ATemplate: hstring; AContext: TStrings; JSONMode: boolean = false): string;
    • Templates: ThreadSafeRender methods - can be called simultaneously from different threads.
    • New VCL and FMX unit htprinters / fmx.htprinters - manage printer setting - set custom paper size, list available paper sizes, etc.
    • New unit htboxes - calculate optimal layout of boxes on pallets and inside container. See PalletCalc demo.
  • Scripter
    • x64: support for var parameters in methods
    • Support for calling interface methods
    • Write and Writenl functions - output to debug console.
    • New HTMLtoText(const s: string) function.
    • Console.log/warn/error messages without debugger are sent to system log (OutputDebugString).
  • Editor
    • Improved Markdown conversion (better lists support)
  • Reports
    • Barcode element - new type: auto - select barcode type depending on data length and symbols.
  • SQL
    • TSQLSelectStatement - new methods:
      AddTable
      AddJoinedTable
    • Advanced CreateQueryforTable method.
    • Improved support for limits in different dialects
    • TSQLContext:
      JSONMode property.
      AddSelectQuery method.
    • PROGRESSBAR SQL function.
    • TSQLParam.ValuefromString method.
    • New TDMField properties:
      property ContentType: string;
      property MaxDataLength: integer;
      property UniqueValuesCount: integer;
      property UniqueValuesPercent: single;
      property UniqueValues: string;
    • New TDMTable method: FillContentTypes - analyze table data and fill field properties.
    • New TDMTable method GetReferencedTabler - return tables that reference this table in FK.
    • New TDMTable properties:
      property RecordCount: integer;
      property TableType: string;
    • New TDMQQuery methods
      function AsRowData(Limit: integer = 0; LowerCase: boolean = false): THtXMLNode - serialize to XML
      function AsJSON(Limit: integer = 0): string - serialize to JSON
      function InsertXML(const Table: string; Fields: THtXMLNode; Schema: TDMSchema; ReturnKey: boolean = false): TDMQuery;
      - insert to table using parameters from XML attributes.
      function UpdateXML(const Table: string; Fields: THtXMLNode; Schema: TDMSchema): TDMQuery
      - update table using parameters from XML attributes.
      procedure ToXML(ANode: THtXMLNode) - serialize to XML
      function ExecWX(Params: THtXMLNode; const ASQL: string): TDMQuery - execute query using parameters from XML attributes.
    • New method TDMVirtualSchema.RegisterQuery(const SQL, TableName: string; const TableDescription: string = '') - register SQL statement as virtual table.
    • TDMDictionary class - abstract class for application dictionaries.
      Implementations:
      TDMSQLDictionary
      TDMStringDictionary
      TDMJSONDictionary
    • TDMDictionaryManager - application dictionary manager class.
    • TDMVirtualQuery class - class for performing SQL queries on virtual databases.