Stay in touch

Add your e-mail address here to receive the monthly TMS Software alerts.


Product releases
Product articles
Technical articles
Website changes
Software development


<< >>
November 2015

Friday, November 13, 2015

TMS makes accessing cloud services from Raspberry Pi a piece of cake

The world of IoT opens fascinating & innovative capabilities to steer & sense the physical world from small programmable devices like the Raspberry Pi. It becomes even more interesting when this can be connected to cloud services. Imagine a device that unlocks a door at times controlled by a Google Calendar, a device monitoring noise levels in a room and sending a push notification to a mobile phone when a level is exceeded, a device automatically controlling a step motor with data retrieved from a Google Sheet, a device that counts people passing a door and logging this data in a DropBox data file, ... and so much more...

All this is nowadays not only possible, but it is also cheap to make and easy to write software for with the Pascal programming language.
With respect to writing the software that connects embedded apps to all kinds of popular cloud services, the all new TMS LCL Cloud Pack offers numerous easy to use components that seamlessly interact with these cloud services. It offers access to all popular cloud storage services, social media, calendering services, push notification services and more... See full list here.

In our lab, we had fun making a sample app that shows the number of visitors on our website that is retrieved with the Google Analytics realtime data API on a quad 7 segment LED with only a few lines of code.

In order to get started writing cloud-connected apps for the Raspberry Pi, all you need to do is download & install Lazarus v1.5 on your Raspberry Pi and then download & install the TMS LCL Cloud Pack. After install, over 30 new components are available for you. Then register for an application key & secret at your favorite cloud service and use our new Access Token generator app for Windows & Mac OS-X we created especially for TMS LCL Cloud Pack and have it generate the access token and export the token to your Raspberry Pi. With this mechanism, your embedded app can connect to cloud services without requiring any user interaction on the device for authentication & authorization for using a service. Once this is done, you're ready to let the cloud service component of your choice start consuming or producing data for the cloud service.

Finally, note that with Lazarus and our TMS LCL Cloud Pack, you're not limited to Raspberry Pi only. You can develop the prototype of the Raspberry Pi app on a Windows, Mac OS-X, Linux machine or can make full apps for these operating systems as well.

We hope you'll have as much fun creating this brand new type of applications as we had developing TMS LCL Cloud Pack and we're thrilled to learn about what your innovative apps will be!


Bruno Fierens

This blog post has not received any comments yet. Add a comment.

Thursday, October 22, 2015

TMS FMX Chart update with new virtual mode available

Where in earlier versions, the method for adding values to a chart was via multiple calls to TMSFMXChart.Series[x].AddSinglePoint(), the new virtual mode offers a faster solution that is more flexible and typically consumes less memory. This can of course make a welcome difference when creating applications for mobile devices.
To start using the new TMS FMX Chart virtual mode, two events need to be implemented:


In the first event, OnGetNumberOfPoints(), that is triggered for each series in the chart, the number of desired data points can be returned via the ANumberOfPoints parameter.
In this sample event handler, the number of points is set to 10000 for each series in the chart:
procedure TForm1.TMSFMXChart1GetNumberOfPoints(Sender: TObject;
  ASerie: TTMSFMXChartSerie; var ANumberOfPoints: Integer);
  ANumberOfPoints := 10000;
The second event, OnGetPoint() is used to return the value for each point in the chart series. Here comes the flexibility that these values can be retrieved directly from another data structure (even a database). In this sample example, we assume the values are in a dynamic array of 10000 values and for the sake of this example filled with random floating point values. This is the code that initializes two dynamic arrays that have the data for 2 series:
  data_arr_1, data_arr_2: array of double;
  for i := 0 to Length(data_arr) - 1 do
      data_arr_1[i] := random(100) / 33;
      data_arr_2[i] := random(200) / 25;
and now the event handler that sets the values for the virtual chart:
procedure TForm1.TMSFMXChart1GetPoint(Sender: TObject;
  ASerie: TTMSFMXChartSerie; AIndex: Integer;
  var APoint: TTMSFMXChartPointVirtual);
   case ASerie.Index of
   0: if AIndex < Length(data_arr_1) then  
          APoint.YValue  := data_arr_1[AIndex]
   1: if AIndex < Length(data_arr_2) then  
          APoint.YValue  := data_arr_2[AIndex]
A final touch is to apply some settings that will let the Y-axis scale automatically adapt to the values in the series and define the number of visible points along the X-axis (in this case 100 points of 10000 simultaneously visible along the X-axis, other values are shown when the chart is horizontally scrolled). This is done with:
  TMSFMXChart1.Series[0].AutoYRange := arEnabled;
  TMSFMXChart1.Series[0].MaxX := 100;
  TMSFMXChart1.Series[1].AutoYRange := arEnabled;
  TMSFMXChart1.Series[1].MaxX := 100;


Bruno Fierens

This blog post has received 1 comment. Add a comment.

Thursday, October 01, 2015

This was the month September at

Another busy month went by at and so much happened that it is good to quickly summarize everything new that was introduced.

TMS All-Access

We introduced the TMS All-Access subscription which is an easy no-nonsense subscription to simply ALL our products. ALL products means all products we offer now but also all new products we'll release in the year of the subscription. It gives you also access to betas, previews and of course our priority support services. So, with TMS All-Access, you never have to worry again if you will miss something or if you have to take budget in account for future products. TMS All-Access has you covered for VCL, FMX, .NET, IntraWeb and new frameworks we'll start to support in the coming months.

TMS Component Pack v8.0

A major update of our popular UI suite, featuring meanwhile over 400 components was released. Highlight of this new release is TAdvTreeView. TAdvTreeView is a high-performance & feature-rich, multi-column treeview that easily handles millions of nodes. TAdvTreeView can be used in virtual & normal modes. Other new components are TAdvMultiInputQueryDialog and TAdvScrollMenu and as always, there are numerous extensions to existing components in the suite.

TMS VCL Cloud Pack, TMS FMX Cloud Pack

The goal of our TMS Cloud products is to make consuming popular cloud services from your client applications as seamless as possible. Be it from Windows VCL apps, FMX cross platform apps, .NET Windows or web apps or IntraWeb web apps, with our cloud components, access to these cloud services is plug & play. In new versions of the cloud packs is now also support for Google Analytics, GMail, Google Sheets, Trello & Stripe payments.

TMS Hands-on training day

Our team also started the planning of a new focused hands-on training day on using our components. In a small group, we aim to give you as much as possible insights, tips & tricks in using our VCL, FMX, Cloud components. Number of attendees is kept small to have as much interaction as possible and have the ability to look at your specific questions. A few places are still available, so register quickly if you want to participate.

TMS Flexcel DLL

We're proud to have released a new product this month, which is TMS Flexcel DLL. With TMS Flexcel DLL, the power of the Flexcel library to natively handle .XLS, .XLSX files becomes available to any programming language for Windows that is able to use DLLs.

TMS Pack for FireMonkey v3.2

Also for TMS Pack for FireMonkey, we released a major update. Our flag-ship suite of FMX controls features grids, planner, rich-text/html editor, syntax highlighting memo and with this new release from now on also a powerful treeview control. This high-performance, editable, optionally multi-column treeview deals with millions of nodes in a regular or virtual way. Also new is a virtual keyboard for touchscreens on Windows and Mac OS X.

RAD Studio 10 Seattle support

Our entire product suite got support for RAD Studio 10 Seattle. All active registered users get free updates of our products with now included RAD Studio 10 Seattle support.

New developments

And if this was not enough, our team was meanwhile also busy with research on new developments on VCL, FMX components as well as new products in the area of cloud, node.js, embedded C++, IoT, mobile, remoting, replication and more... Watch this space for announcements soon.


Nancy Lescouhier

This blog post has received 1 comment. Add a comment.

Wednesday, September 23, 2015

Fixing the FMX TWebBrowser issue on iOS 9

Update: You now optionally add additional keys in the iOS9Fix_config.txt file

Linking against iOS 9 introduces the new Application Transport Security feature that enforces a secure network connection. This means that in a default RAD Studio 10 Seattle project, the default TWebBrowser but also our TTMSFMXWebBrowser, TTMSFMXWebGMaps,
TTMSFMXWebOSMaps components and the TMS Cloud Pack for FireMonkey cloud services can no longer make a connection to the web. A solution for this issue is to add the following key to the Info.plist file:


As the Info.plist is automatically generated based on the project options, there is no option to specify a boolean key in a dictionary. To make sure the Info.plist file contains the correct keys in order to link against iOS 9 we have created an iOS9Fix command line executable and a post-build command.

1) Copy the iOS9Fix.exe & iOS9Fix_config.txt files to the project directory.

2) Add the following post-build command to your project options.

call "$(PROJECTDIR)\iOS9Fix.exe" "$(OUTPUTPATH).info.plist"

If the above steps are executed correctly, your application should then be able to make a connection with one of the components mentioned in this blog post.

The solution with the above instructions can be downloaded at


Pieter Scheldeman

This blog post has received 7 comments. Add a comment.

Monday, September 14, 2015

TMS hands-on training day

TMS software organizes a new training day on Tuesday November 24th in Kortrijk, Belgium. On this training day we will cover following 3 product areas to help you getting the maximum out of your applications with TMS components:
  • TMS VCL UI components for Windows application development.
  • TMS FireMonkey UI components for cross-platform FireMonkey application development.
  • TMS components to access cloud services from Windows and FireMonkey applications.

In tentative program

  • 09h00-09h30: Registration & coffee
  • 09h30-10h30: In depth with TMS VCL components pt 1
  • 10h30-10h45: Q&A
  • 10h45-11h15: Coffee break
  • 11h15-12h15: In depth with TMS VCL components pt 2
  • 12h15-12h30: Q&A
  • 12h30-13h30: Lunch
  • 13h30-14h30: In depth with TMS FireMonkey components pt 1
  • 14h30-14h45: Q&A
  • 14h45-15h15: Coffee break
  • 15h15-16h15: In depth with TMS FireMonkey components pt 2
  • 16h15-16h30: Q&A
  • 16h30-17h30: In depth with TMS Cloud components
  • 17h30-17h45: Q&A
Given the large number of components we have, we like to hear which topics are of most interest to you to fine-tune our program to your needs. Therefore you can vote on your favorite topics in the online registration form

We also suggest to bring your laptop if you want to follow the samples live or if you want one of our experts to have a look at your implementations. For a maximum interactivity, the number of seats will be limited to 20 persons.

Registrations until October 31st

The cost of the TMS training day is 75 EU + VAT. This includes a full day access to the sessions and coffee/drinks during this day. A hot meal is served for lunch.


  • Kennedy Hotel, Pres. Kennedypark 1, B-8500 Kortrijk
  • Free parking
  • Nearby highway (E17) exit
  • Facilities for hotel rooms at the event are available for international attendees


Nancy Lescouhier

This blog post has received 1 comment. Add a comment.

Previous  |  Next  |  Index

Copyright © 1995 - 2015 TMS Software v4.0