TMS Software | Newsletter

NEWSLETTER April 16, 2020


In this newsletter ...

TMS VCL UI Pack v10.2.5.0


Create modern-looking & feature-rich Windows applications faster with well over 600 components in one money and time saving bundle for Delphi & C++Builder
A major update for our product TMS VCL UI Pack has been released.

What's new in v10.2.5.0:
  • UIStyle property for AdvOfficeSelectors & TAdvOfficeScrollSelector
  • Dropdown arrow color can be set with ArrowColor and ArrowColorDisabled in AdvSelectors
  • AdvSmoothEdit BorderColor property implemented
  • GDIPMenu added on design-time creation of TAdvSmoothMegaMenu
  • Changed TImageList property to TCustomImageList for compatibility with TVirtualImageList in TColumnComboBox, TColumnListBox
  • Drawing precision of images in TAdvRatingGrid


  • + various smaller improvements & fixes


Available separately and also included in TMS ALL-ACCESS, TMS VCL Subscription and TMS Component Studio



TMS Business update April 2020


Cached Updates in TMS Aurelius, Batch (Bulk) Update in TMS RemoteDB

TMS Aurelius Cached Updates
When persisting objects by calling object manager methods like Save, Flush or Remove, the manager will immediately perform SQL statements to reflect such changes in the database. For example, calling this:
    Manager.Remove(Customer);
Will immediately execute the following SQL statement in the database:
    DELETE FROM CUSTOMERS WHERE ID = :id
With cached updates feature, you have the option to defer the execution of all SQL statements to a later time, when you call ApplyUpdates method. This is enabled by setting CachedUpdates to true. Take the following code as an example:
Manager.CachedUpdates := True;
Manager.Save(Customer);
Invoice.Status := isPaid;
Manager.Flush(Invoice);
WrongCity := Manager.Find(5);
Manager.Remove(City);
Manager.ApplyUpdates;
The above code should perform the following SQL statements:

  1. INSERT (to save the customer - see "exceptions" below);
  2. UPDATE (to modify the status field of the invoice);
  3. DELETE (to delete the city)
The difference is that all the statements will be executed at once, one after another, when ApplyUpdates is called.

You can check this new feature yourself in the new Cached Updates demo which is included in TMS Aurelius install.

TMS RemoteDB Batch/Bulk Updates (Array DML)
In RemoteDB, if you want to insert, update or delete several records at the same time, using the same SQL statement, you can now use the batch update feature - also known as Array DML.

In this mode, a single SQL statement is sent to the server, and multiple values are passed for each parameter. For example, consider the following SQL statement:
XDataset1.SQL.Text := 'INSERT INTO Cities (Id, Name) VALUES (:Id, :Name)';
If you want to insert three records using the same statement, this is how you should do it:
    XDataset1.ParamByName('Id').DataType := ftInteger;
    XDataset1.ParamByName('Name').DataType := ftString;
    XDataset1.ArraySize := 3;
    XDataset1.ParamByName('Id').Values[0] := 1;
    XDataset1.ParamByName('Name').Values[0] := 'London';
    XDataset1.ParamByName('Id').Values[1] := 2;
    XDataset1.ParamByName('Name').Values[2] := 'New York';
    XDataset1.ParamByName('Id').Values[3] := 3;
    XDataset1.ParamByName('Name').Values[3] := 'Rio de Janeiro';
    XDataset1.Execute;    
The advantage of this approach is that a single HTTP request containing the SQL statement and all parameters will be send to the server. This increases performance, especially on environments with high latency.

In addition to that, if the database-access component you are using server-side supports Array DML (like FireDAC or UniDAC), then it will also increase performance server-side significantly, by also using Array DML to actually save data in the database. Otherwise, a batch update will be simulated, by preparing the SQL statement and executing it for each row of parameters.

You can try TMS Aurelius, TMS RemoteDB, and all the other TMS Business products right now! Download the trial version, watch tutorial videos and many more from the TMS Business main page.





TMS FlexCel v7.5 release


Powerful, extensive & flexible component suite for native Excel report & file generation & manipulation

A major update for our product TMS FlexCel has been released.

Main new features in version 7.5:
  • Support for importing bullet lists when importing html
  • Support for calculating the upcoming XLookup, XMatch, RandArray and Sequence functions
  • Support for adding charts to a sheet with the API (xlsx files only)
  • Preserving and adapting single cell mappings in XML Maps in xlsx files
  • Now SetSeries and AddSeries, DeleteSeries work also in xlsx charts
  • New set method in the properties PlotArea, Background in ExcelChart
  • New methods SetTitle, SetOptions, SetChartLegend, SubchartCount, GetSeriesInSubchart, SetSeriesInSubchart and AddSubchart in ExcelChart Gb

Available for:


Available separately and also included in TMS ALL-ACCESS and TMS VCL Subscription



Books about TMS tools


Get in-depth product knowledge and learn how to get more productive at writing better software!
Now that we are at home, we should make the most of our free time! Here is a list of educational books about TMS components.

  1. Introducing Delphi ORM: Object Relational Mapping Using TMS Aurelius
    John Kouraklis has written yet another great book about Delphi: Introducing Delphi ORM: Object Relational Mapping Using TMS Aurelius.
    It's good news that more and more learning material about TMS Aurelius is being made available to the community.

    With this book you will learn:
    • Gain the fundamentals of ORM frameworks and Aurelius for Delphi
    • Achieve basic tasks, such as connecting to the database and adding, deleting, and updating records, using Aurelius
    • Employ advanced database queries
    • Use the TAureliusDataSet component
    • Integrate with mobile platforms such as Android and iOS
    • Work with the data modeler application


  2. TMS WEB Core: Web Application Development with Delphi

    The content is suitable for both beginners and advanced developers interested in creating web applications with TMS WEB Core.

    • Detailed description of the basics, the functionality, and the transpiler (based on pas2js)
    • Step-by-step creation of the first web application
    • Progressive Web Applications (PWA) for offline use
    • Electron applications: Cross-platform Desktop applications based on web applications
    • Integration of JavaScript classes and controls
    • Creating web services for databases with TMS XData
    • Integration of databases with TDataset controls
    • XData-specific functionality for use in web applications
    • Responsive web design (form designer, HTML, CSS, Bootstrap)
    • The final chapter provides a comprehensive and practical example of server and web application with Google Maps and Google Charts

    Knowledge of Delphi (Object Pascal) and the Visual Component Library (VCL) is required. To reproduce the numerous examples, you need a current version of Delphi and TMS WEB Core. The free Delphi Community Edition is sufficient as well as the trial version of TMS WEB Core.

  3. TMS WEB Core: Webanwendungen mit Delphi entwickeln (German Edition)

    Vorausgesetzt werden Kenntnisse in Delphi (Object Pascal) und der Visuellen Komponenten Bibliothek (VCL). Zum Reproduzieren der zahlreichen Beispiele benötigen Sie eine aktuelle Version von Delphi und TMS WEB Core. Die kostenfreie Delphi Community-Edition ist ausreichend sowie die Testversion von TMS WEB Core.

    Die Inhalte:
    • Ausführliche Beschreibung der Grundlagen, der Funktionsweise und des Transpilers (basierend auf pas2js)
    • Schrittweise Erstellung der ersten Webanwendung
    • Progressive Web Applications (PWA) zur Offline-Nutzung
    • Electron Anwendungen: Plattformübergreifende Desktopanwendungen basierend auf Webanwendungen
    • Einbinden von JavaScript und JavaScript-Komponenten
    • Erstellen von Webservices für Datenbanken mit TMS XData
    • Einbinden von Datenbanken mit TDataset-Komponenten
    • XData-spezifische Funktionalität bei der Nutzung in Webanwendungen
    • Responsives Webdesign (Formulardesigner, HTML, CSS, Bootstrap)
    • Abschließendes Kapitel mit umfassendem und praxisnahem Beispiel mit Server- und Webanwendung mit Google Maps und Google Charts

What's next:

If this crisis allows us, our next planned book will also be TMS WEB Core related!
In addition, we also listen to you! Comments in our blog, what the subject of our next book should be!


As always, we thank all users for the numerous inputs, feedback, comments and suggestions. This is an invaluable help to steer our developments here at TMS software.

Kind regards,
TMS software team
Email: info@tmssoftware.com
Web: http://www.tmssoftware.com
Support, FAQ & Manuals: http://www.tmssoftware.com/support.asp


Follow latest developments at tmssoftware.com


NOTICE: If you wish to unsubscribe from the TMS software Newsletter, please click here.