Quantcast
Channel: TMS Software
Viewing all 1008 articles
Browse latest View live

TMS Training Days 2019: Introduction speaker 3

$
0
0



Bruno Fierens

  • Studied civil electronic engineering at university of Ghent, Belgium (1987-1992).
  • Started a career as R&D digital hardware engineer at Barco Graphics Belgium designing with FPGA, VHDL, graphic processors, PCI, Silicon Graphics add-on boards, high-end printer controllers,...
  • Began writing software in Turbo Pascal 3.0 since 1987 and used all Borland Pascal and all Delphi versions since then.
  • Founded TMS software in 1996, developing VCL components starting with Delphi 1.
  • TMS software became Borland Technology Partner in 1998 and developed Delphi Informant award-winning grid & scheduling components.
  • From 2011 FireMonkey cross platform components,targetting Windows, macOS, Android, iOS.
  • In 2016, TMS software launched FNC, a framework neutral component architecture enabling to use UI controls in VCL,FMX & LCL apps
  • In 2018, TMS software launched TMS WEB Core, a framework for creating rich web clients using ObjectPascal
  • Currently doing and managing VCL, FMX, Web, .NET, IoT, LCL, REST, node.js development.
  • Is a regular speaker at conferences (Be-Delphi, DelphiTage, ITDevCon, CodeWay Tour, EKON, DevTracks, SDN, ..).
  • Available for consulting & custom project development.
  • Bruno Fierens was titled Embarcadero MVP since 2012.
  • Special area of interest are user interfaces design, UX, RAD software development, hardware/electronics.


Sessions at TMS Dev Intensive:


Session 1:
The latest advancements & directions for VCL controls

In this session, Bruno Fierens will discuss the latest state and further planned advancements for VCL UI controls in the TMS VCL UI Pack and other products with respect to handling per monitor high DPI and using the controls in applications using VCL Styles versus using the TMS Office & Windows styles.

Session 2:
TMS WEB Core v1.3

The new features and capabilities of the TMS WEB Core framework for building modern web application clients, installable clients for mobile devices and cross-platform desktop applications will be detailed. In this session you’ll see the latest new & powerful capabilities to use cloud data, bind to HTML templates, use push notifications, encryption, local file access and more…


Leave a comment down below!
Excited to meet the founder of TMS Software in person?
Tell him how much you like his new product TMS WEB Core, in the comments section!


Reminder
Did you reserve your seat already?
Don't wait till last minute and get your seat for either the TMS Business Masterclass, TMS Dev Intensive day or both days!




Stay tuned for more....




TMS Training Days 2019: Introduction speaker 4

$
0
0


Wagner Landgraf

  • Graduated in Electronic Engineering and M.Sc in Industrial IT at Federal Technological University of Parana-Brazil.
  • More than 24 years experience (since 1995) in Delphi development - since Delphi 1.
  • Architect and main developer of Delphi libraries like TMS Aurelius, TMS XData, TMS RemoteDB, TMS Scripter, among others.
  • Founder of landgraf.dev online school.

Sessions at TMS Business Masterclass

  • Session 1: The TMS Business World
    A journey into the world of TMS Business bundle. We will learn about the solutions provided by TMS Business: the components included, the libraries, the use cases, all in the historical context and the motivations behind it. Products covered: TMS Scripter, TMS Diagram Studio, TMS Workflow Studio, TMS Data Modeler, TMS Aurelius, TMS Sparkle, TMS RemoteDB, TMS XData, TMS Echo, TMS Logging.
    *BIZ level: Beginner
  • Session 2: The Joy of Databases
    A talk about new ways to deal with databases. What is an ORM (Object-Relational Mapping) framework, and are the most recent news and features about it. What you can use to help you out in modeling your databases, easily use existing databases with the new paradigm, and advanced techniques on ORM and database modeling. Products covered: TMS Aurelius, TMS Data Modeler
    *BIZ level: Intermediate
  • Session 3: Your App Everywhere: REST API
    Multitier, cloud, REST, HTTP, SSL: What, Why, When, and mainly, How? Learn what a REST API server means, why you will benefit from moving your app to the cloud, and learn how to do it in a very RAD way. The latest features will be covered, even for the experienced users. Products covered: TMS XData, TMS Sparkle
    *BIZ level: Intermediate
  • Session 4: The Unsung Heroes
    A deeper look into three awesome TMS Business libraries that bring you solutions for problems you never thought you had. User-customized application, modifying business rules at runtime, offline data synchronization, and moving your app to the cloud in a couple of days. Products covered: TMS Scripter, TMS Echo, TMS RemoteDB
    *BIZ level: Beginner
  • Session 5: Getting serious in the Cloud
    Advanced techniques and concepts when building REST API servers: Security, background processing and deep analysis of real-world source code. Products covered: TMS XData, TMS Sparkle
    *BIZ level: Advanced
  • Session 6: All Together Now
    A very interactive session where all the current ideas from the TMS team for the future of TMS Business will be presented. We will discuss the existing roadmap, brainstorming about all the possibilities, have all questions answered and summarize the whole day.

Leave a comment down below!
Do you have a question for Wagner Landgraf? Are you coming to the TMS Business Masterclass and would like to discuss a project with him?
Ask your question or share your opinion / experiences about our TMS business tools.


Reminder
Did you reserve your seat already?
Don't wait till last minute and get your seat for either the TMS Business Masterclass, TMS Dev Intensive day or both days!




Stay tuned for more....



TMS Training Days 2019: Introduction speaker 5

$
0
0


José León Serna

Creator of Delphi for PHP/HTML5 Builder and former Director of Engineering and Branch Manager at Embarcadero Technologies between 2010 and 2016. Although the Embarcadero’s branch participated in the development of several products, he was mainly responsible for RAD Studio, and more specifically, the IDE. He participated actively on the conception and implementation of multitude of new features, specially focused on multi-device development. He has been involved in IDE development for most part of his career and is the area where he enjoys most.


Session at TMS Dev Intensive


"Introducing a brand-new and ground-breaking product that will open the world for Delphi developers and vice versa.”
Be there, be amazed, receive the first product beta and start playing with it!

It has been more than one year that Bruno Fierens, CEO of tmssoftware.com got in touch with José Leon Serna and discussed about future opportunities for Delphi development. Surprisingly our visions for future directions and possibilities perfectly aligned. From there, an intense collaboration started and we will present on November 15 the first fruits of this collaboration. We clearly could not have achieved the amazing technical break-throughs without José Leon. The TMS team is honoured, happy and proud to have one of the brightest minds in the Delphi world in our family. We are sure you look as much forward to see José Leon in action on November 15 as we do!

Leave a comment down below!
Are you excited about his session?
What do you think he will be talking about? Any guesses?


Reminder
Don't wait till last minute and get your seat for either the TMS Business Masterclass, TMS Dev Intensive day or both days!




Stay tuned for more....



TMS Training Days 2019: Introduction speaker 6

$
0
0


Roman Kassebaum

Roman Kassebaum is a freelancer. He started to work with Delphi in 1996 after he graduated with a Master degree from the University of Paderborn. He is a Delphi MVP and an Embarcadero Technology Partner. During the last years he became a member of the great TMS team and he is also a TMS certified consulting partner. Roman is a specialist in all kinds of Delphi projects including TMS Business components and the cutting edge TMS WEB Core library for which he created the Delphi IDE integration.


Session at TMS Dev Intensive


Together with Bruno Fierens, Roman Kassebaum, architect of the TMS WEB Core IDE integration, will present and demonstrate TMS WEB Core v1.3 new features & capabilities!


Leave a comment down below!
Are you excited about what's new in TMS WEB Core v1.3?


Reminder
Last few seats left!
Don't wait till last minute and get your seat for either the TMS Business Masterclass, TMS Dev Intensive day or both days!




Stay tuned for more....



TMS Training Days 2019: Introduction speaker 7

$
0
0

Roman Yankovsky


Roman Yankovsky is an Embarcadero MVP who has been working with Delphi since Delphi 2. He joined the TMS team in 2016. He is the product manager and architect of the FixInsight static analysis tool for Delphi.

Roman Yankosvsky is also author of the Delphi AST, an open source Abstract syntax tree builder for Delphi you can find here: https://github.com/RomanYankovsky/DelphiAST and this library is used in the great OmniPascal Visual Studio Code extension.




Session at TMS Dev Intensive:


How to use FixInsight's static code analysis in Delphi to find bugs in your code before your customers do.


Leave a comment down below!
Do you want to know about the latest developments of TMS FixInsight?
Comment below and tell Roman how much you appreciate his work!


Reminder
Did you reserve your seat already?
Don't wait till last minute and get your seat for either the TMS Business Masterclass, TMS Dev Intensive day or both days!




Stay tuned for more....



TMS Training Day, November 18th 2019

$
0
0


TMS software is organizing a new training day on Monday, November 18 in Wevelgem, Belgium.

All day, sessions will be spent on TMS Business tools. Sufficient time will be allocated to handle your specific questions on TMS Business tools. The sessions will be given by the expert himself Wagner Landgraf, architect TMS Business tools.

All sessions will be in English.
Limited number of 10 seats available to ensure direct interaction!

The training day takes place in TMS software main office, there is an opportunity to meet other members of the team as well.

Agenda

9h00: Welcome & introduction (Bruno Fierens)

9h15: Session 1: The TMS Business World (Wagner R. Landgraf)
A journey into the world of TMS Business bundle. We will learn about the solutions provided by TMS Business: the components included, the libraries, the use cases, all in the historical context and the motivations behind it. Products covered: TMS Scripter, TMS Diagram Studio, TMS Workflow Studio, TMS Data Modeler, TMS Aurelius, TMS Sparkle, TMS RemoteDB, TMS XData, TMS Echo, TMS Logging.
*BIZ level: Beginner

10h00: Coffee break

10h30: Session 2: The Joy of Databases (Wagner R. Landgraf)
A talk about new ways to deal with databases. What is an ORM (Object-Relational Mapping) framework, and are the most recent news and features about it. What you can use to help you out in modeling your databases, easily use existing databases with the new paradigm, and advanced techniques on ORM and database modeling. Products covered: TMS Aurelius, TMS Data Modeler
*BIZ level: Intermediate

11h30: Session 3: Your App Everywhere: REST API (Wagner R. Landgraf)
Multitier, cloud, REST, HTTP, SSL: What, Why, When, and mainly, How? Learn what a REST API server means, why you will benefit from moving your app to the cloud, and learn how to do it in a very RAD way. The latest features will be covered, even for the experienced users. Products covered: TMS XData, TMS Sparkle
*BIZ level: Intermediate

12h30: Lunch

13h30: Session 4: The Unsung Heroes (Wagner R. Landgraf)
A deeper look into three awesome TMS Business libraries that bring you solutions for problems you never thought you had. User-customized application, modifying business rules at runtime, offline data synchronization, and moving your app to the cloud in a couple of days. Products covered: TMS Scripter, TMS Echo, TMS RemoteDB
*BIZ level: Beginner

14h30: Session 5: Getting serious in the Cloud (Wagner R. Landgraf)
Advanced techniques and concepts when building REST API servers: Security, background processing and deep analysis of real-world source code. Products covered: TMS XData, TMS Sparkle
*BIZ level: Advanced

15h30: Coffee break

16h00: Session 6: All Together Now (Wagner R. Landgraf)
A very interactive session where all the current ideas from the TMS team for the future of TMS Business will be presented. We will discuss the existing roadmap, brainstorming about all the possibilities, have all questions answered and summarize the whole day.

17h00: Wrap-up, Q&A & open discussion

Note: All sessions will be presented in English.


Location

TMS software main office, Roeselarestraat 180, 8560 Wevelgem, Belgium.



Register now!

Sign-up now for the TMS Day in Belgium on November 18th, 2019.

Regular price: 295 EUR
Early Bird price: 250 EUR (until October 20th)

This includes a full day access to the sessions and coffee/drinks during this day. A hot meal is served for lunch.
Register now!

Don't delay your registration as the number of seats is limited to 10 attendees only!
Last 2 seats left, hurry if you don't want to miss this opportunity!

In addition, you also have the opportunity to meet Wagner and our other team members in Düsseldorf (Germany) on November 14 and 15 .
Also for these days we are almost fully booked! So hurry up and take advantage of this unique opportunity!



For any further guidance or information, please do not hesitate to contact us! Our team will be happy to assist you.

VCL TaskDialog

$
0
0

Holger Flick, TMS Evangelist & Embarcadero MVP has recently made a lot of useful videos: tips and tricks for TMS VCL components, new release announcements, events announcements...

Recently he recorded a new series of videos for VCL TaskDialog.
This new series consists of 7 videos, including component introduction and few examples.

TaskDialog series:


Introduction. What is TaskDialog and what are the advantages? What are those dialogs in the first place?



How can you migrate existing apps to use the new dialogs?



Motivation to do the examples step by step and introduction of my cheat sheet.



Example 1: Simple dialog with text



Example 2: Using Command (link) buttons



Example 3: Expanding and collapsing, footer text with hyperlinks



Example 4: Using radio buttons and verification text



His next 2 upcoming videos will be about :
  • TAdvInputTaskDialog: to use a TaskDialog with any custom input control
  • FNC TTMSFNCTaskDialog: the cross-framework & cross-platform TaskDialog equivalent

More videos can be found on our YouTube channel.


TMS Training Days 2019: Introduction speaker 8

$
0
0



Adrian Gallero

Adrian Gallero is an Electrical Engineer who has been working in Delphi since it was Turbo pascal 4. He has worked in calculating power line distribution for electrical companies in Montevideo and Rio de Janeiro. He lived for over 3 years in Madrid working the development of a telecommunication management system, and over a year in Sydney developing custom solutions for a freight-forwarding company.

He has been working with spreadsheets for longer than he can remember, and in 1996 he developed a small component that allowed his Delphi 1 apps to export the results to a spreadsheet (to his surprise, he learned a year ago that the electrical company is still using those unmodified apps today). This component grew over the years: It was renamed FlexCel in 2001 and it joined the TMS family in 2002. Today FlexCel exists in both Delphi and .NET versions, and they contain over a million lines of code.


Session at TMS Dev Intensive:


Using FlexCel 7 to export data

Adrian will show how to create a Delphi app that exports data to Excel and Pdf files, using some of the newest stuff introduced in FlexCel 7. If time allows, he will also have a glimpse at the future and look at the stuff currently in development.


Leave a comment down below!
Are you excited about this session?
Are you coming to the TMS Dev Intensive and would like to discuss a project with him?
Tell him how much you like his FlexCel products, in the comments section!


Reminder
Last seats left. Do you want to be part of this educational day? Don't wait and register now!






TMS certified consulting partner: Softacom

$
0
0


In our previous blog we presented our first consulting partner C-QUEL
Our second TMS certified consulting partner is Softacom.

Company history:

The story of how Serge Pilko’s hatred of C ++ and Basic at school grew into a love of Delphi 3 at the university and in 2008 turned into the creation of his own company Softacom (Enterprise digital transformation & software modernization experts).

Softacom founder and CEO Serge Pilko (Embarcadero's MVP / Delphi Evangelist), together with his team, is helping local companies and multinational enterprises digitally transform and upgrade legacy software.

Headquartered in the capital of Belarus (Eastern Europe), Softacom provides migration, integration, and reengineering of all types of software created using Delphi and .Net technologies. Companies around the world successfully grow their business with desktop, web and mobile applications designed and developed by professional business analysts and Softacom software developers.


Technologies used:

  • Platforms: Windows, Linux, macOS, iOS, Android
  • Databases: Firebird, Interbase, MS SQL Server, MySQL, MongoDB, SQLite
  • Components: TMS VCL Components, TMS WEB Components, FMX Components, FNC Components, TMS Business Tools, TMS Developer Tools

Examples of projects with TMS components:
  • Non-food store-oriented POS system software for the nationwide Microcom ApS, a provider of IT solutions and retail products, specializing in box and warehouse systems.
    Components used from TMS VCL UI Pack: TAdvDirectoryEdit, TAdvStringGrid, TAdvMainMenu, TAdvPanel, TAdvSmoothPanel, TAdvComboBox, TAdvPanelStyler, TAdvGridPrintSettingsDialog, TAdvSmoothCalculator, TAdvDateTimePicker, TDBAdvGrid.
  • An integrated software platform for analyzing thin films and controlling all spectroscopic ellipsometers and reflectometers for a leading global supplier of scientific instruments and optical components.
    Components used: TAdvTrackBar.
  • Development of a mobile application to conduct marketing programs, attract customers and increase sales of a large American chain of stores.
    Components used: TMS FMX UI Pack, TMS FMX iCL, TMS FMX WebGMaps, TMS FMX Cloud Pack.
    Tools: RAD Studio/Delphi/?++ Builder (Firemonkey and VCL), Ms Visual Studio (.NET/WinForms/WPF/ASP.NET, etc.), Angular, Node.js, Vue.js, Android Studio

TMS Partnership:

TMS Software and Softacom is a successful collaboration consisting of their expert development of components on the part of TMS Software and their expert use in their projects on legacy software migration by Softacom. In addition, Bruno and Serge are productively creating a series of webinars on topics related to component-based software development with Delphi.

(Serge Pilko at TMS software main office, Belgium)

Did you know ...

... that in the Republic of Belarus at the moment Serge Pilko is the only person who has the status of Embarcadero's MVP?


Final quote:

Going forward, do not hold on to the legacy, but do not give it up so quickly. If you do not know what to do with your legacy in software, Softacom knows the answer!
Softacom doesn’t give up on clients’ legacy projects, Softacom injects new life and power into them when it’s possible.


Visit the partners landing page for more information and details!


Embarcadero Conference 2019, Brazil

$
0
0

On October 22nd, 2019, there was another edition of Embarcadero Conference in São Paulo, Brazil. Hundreds of Delphi enthusiasts come together every year to find out about the new developments!

Also this year over 500 attendees were present to expand their knowledge.


There were seven simultaneous sessions, all happening in the same auditorium. The attendees could choose which session they wanted to listen to, by selecting the audio channel in their headphones.

More information about the sessions can be found on the event site.

Wagner Landgraf, architect TMS Business tools, did also participate in this event. He presented the following session: “Anatomy NFC-e issuer in the cloud (REST API)". A NFC-e and NFS-e emitter in the cloud was showed, built with Delphi, with information about its architecture, REST API description, and issuance from the client.


Wagner Landgraf about the content “in the cloud”

NFC-e is a legal digital document in Brazil, and when we issue such a document in the cloud, we have several advantages compared to the issuing of the same document in a local desktop or mobile application:
  • One single and centralized place to configure the issuing environment (installation of certificates, configuration of cryptography libraries, etc.)
  • Minimizes the risk of problems and support cost: you don’t have to configure hundreds of client environments
  • Much easier system update and maintenance: you also don’t need to manage all the clients.
  • You can issue NFC-e from any platform (from a desktop Windows application, a mobile application, or even from Raspberry PI, who knows?). All you need is internet connection and HTTP communication on that platform.
  • It’s easier to develop clients in other platforms. No need to be able to port and compile several 3rd party libraries needed for the document issuing, like ACBr, FastReport, FortesReport, cryptography dlls or tools, etc.


TMS WEB Core

Marcos Moreira, Embarcadero MVP, was also present at the event and he presented a session about our new framework TMS WEB Core



Both the sessions received positive feedback, the attendees were interested and enthusiast.
We hope to bring even more good content for the next edition!

Marcos Moreira presenting TMS WEB Core at Brazil Embarcadero conference

$
0
0


On October 22, 2019, I spoke at the largest Delphi event in the world, the Embarcadero Conference Brasil, held in the city of São Paulo in Brazil. The event was attended by over 700 professionals in seven session tracks.

This year I was on the Web, Cloud and JavaScript track with the session “Desenvolver Para Web é simples com TMS Web Core” (Web Development is easy with TMS Web Core).



The purpose of my talk was to show that in Delphi IDE you can develop SPA (Single Page Application) web applications in a simple and quick way. I introduced all the architecture and operation of TMS Web Core and its excellent features. I demonstrated how to perform browser debugging, the Pascal compilation process for JavaScript, and all Delphi IDE integration with TMS Web Core. One of the most interesting moments was to create an example of a simple TWS Web Core application with two WebEdits and a WebButton live, and show how simple it is using TMS Web Core to turn this application into a responsive and modernly designed page, simply by downloading a free template from a Login form, which used HTML5, JAVASCRIPT, CSS and BOOTSTRAP, downloaded from one of the many web sites that provide such material for free. The attendants loved how fast, simple it is, with a fantastic result. Productivity with TMS Web Core is unquestionable and the learning curve for Delphi users is quite small.

I also took the opportunity to tell everyone that at our company TI& Saúde Tecnologia, we are developing a major project for our application solutions using TMS XData, TMS Aurelius and TMS Web Core technologies, which will be launching in March 2020.

I would also like to comment that some of the Embarcadero friends and MVPs have been following my session and I was honored to be present at TMS representative in Brazil's lecture, Wagner Landgraf, who besides being a fantastic person and a friend, still has a great knowledge in development. When I commented to him about my interest in giving a session on this topic at the event, he was available, helped me with my questions, and gave me several important tips. Here is my thanks to Wagner.



At the end of the session I had the opportunity to talk to some of the attendees and the feedback was fantastic, everyone I spoke to enjoyed the presentation and found the TMS Web Core technology fantastic.



Marcos Moreira
Embarcadero MVP



Be-Delphi developer event 2019 in Belgium, Brussels

$
0
0

With great pleasure we announce a brand new edition of the Be-Delphi developer event.

You will not only meet & network with your fellow Delphi developers from the Benelux.
But Embarcadero’s Jim McKeeth – Chief Developer Advocate & Engineer and José Léon Serna - Creator of Delphi for PHP/HTML5 Builder and former Director of Engineering and Branch Manager at Embarcadero Technologies, will be present to!

José Léon Serna will introduce a brand-new and ground-breaking product from TMS software that will open the world for Delphi developers and vice versa!

For the first time with this Be-Delphi edition, we will have an optional geek night the evening before the event. All attendees of the Be-Delphi event are entitled to join us free for more fun on Wednesday-evening. Full program for both days can be found here.

Agenda

09h00 - 09h15: Welcome & keynote (Be-Delphi)
Filip Lagrou, organizer of Be-Delphi welcomes attendees and provides the latest agenda details and warms up the audience.

09h15 - 10h15: Legacy Delphi projects (Serge Pilko)
Serge Pilko and his team from Softacom has tons of experience moving forward legacy Delphi code to new and modern Delphi versions. Serge will share all tips, tricks, techniques, pitfalls to take in account when moving forward legacy Delphi projects to the latest versions taking advantage of Windows 10, unicode, cross-platform and the latest RTL & VCL features.

10h15 - 10h45: Coffee break

10h45 - 12h00: Targets for TMS WEB Core (Bruno Fierens)
The CTO of TMS software, Bruno Fierens, explains and shows how TMS WEB Core can be used to go to 3 targets: regular web applications, cross-platform installable mobile applications for iOS + Android and installable desktop applications for Windows + macOS + Linux and this all from the same code base with TMS Web Core.

12h00 - 13h00: Warm lunch

13h00 - 14h00: FireDAC (Jim McKeeth)
Explore with Jim McKeeth the ins and outs of FireDAC to get high performance and flexible access to almost every database on the planet.

14h00 - 15h00: TFrameStand & TFormStand (Andrea Magni)
Make multi-form handling in your FireMonkey applications easy and shine with the opensource TFrameStand and TFormStand developed by Andrea Magni himself.

15h00 - 15h30: Coffee break

15h30 - 16h30: Brand-new & Ground Breaking (José Léon)
José Léon will take the wraps of a brand-new and ground-breaking product for the first time in the Benelux that will open the world for Delphi developers and vice versa. Be there and be amazed!

16h30 - 17h30: FMX Linux (Jim McKeeth)
Since FMXLinux is included in Delphi Enterprise and Architect editions, it is now also possible to use the FireMonkey framework to create Linux client applications. Jim McKeeth shows and covers all details to get you productively create Linux client applications from Delphi.


Location

The event will take place at the peaceful Hotel Chateau du Lac - Genval, Belgium.


Facilities for hotel rooms at the event are optionally available for attendees. Book your hotel room at Chateau du Lac with a discount thanks to Be-Delphi via link below!


This is your chance to meet and share ideas with your fellow Delphi developers from the Benelux. So don't waste time and be one of the first to secure your place at the Be-Delphi event.





Preview of TMS WEB Core for Visual Studio Code

$
0
0

At the TMS Training Days in Düsseldorf, Germany as well as at the Be-Delphi conference in Belgium, José León Serna (creator of Delphi for PHP & former Embarcadero IDE lead architect) gave a presentation previewing TMS WEB Core for Visual Studio Code. After more than a year of hard work & intensive collaboration with the TMS team, we were proud to present this technology preview with an almost complete feature set for the first release.



What is Visual Studio Code?



For software developers not familiar with Visual Studio Code, this is a free, open-source, extensible and cross-platform IDE. This means that the Visual Studio Code IDE works exactly the same on Windows, macOS and Linux and this also with full high-DPI support. Visual Studio Code is an initiative from Microsoft and focuses on being open & extensible. It is open source and fully free and is not to be confused with the regular Microsoft Visual Studio IDE. There is meanwhile a very rich offering of extensions for Visual Studio Code with numerous programming languages supported and all kinds of interesting IDE tools, utilities, convenient extensions. Last we looked, almost 3000 such extensions can be found at https://marketplace.visualstudio.com/.

What does TMS WEB Core for Visual Studio Code bring to the table?

As far as we know, at this moment nor Visual Studio Code nor any of its extensions provides a RAD, component based approach with a visual form designer. As this has always been at the heart of what Delphi means to Object Pascal developers, TMS WEB Core for Visual Studio Code brings a RAD component based experience with form designer, tool palette, object inspector, structure pane. In other words, it enables the Delphi or Lazarus developers to work on TMS WEB Core web client projects in pretty much the same way from Visual Studio Code.

Why the choice for Visual Studio Code?


Live data and live a bootstrap theme used in the form designer in Visual Studio Code

Live Google Maps in the form designer in Visual Studio Code

The reason for our efforts to develop a TMS WEB Core for Visual Studio Code is purely technology driven. Visual Studio Code itself is built using web technology. The Visual Studio Code UI is all rendered using HTML/CSS/JavaScript via the Chrome browser engine. This opens the fantastic opportunity to build a form designer from web technology, meaning that from the form designer, we can see the TMS WEB Core web components as-is or WYSIWYG. Where in the Delphi IDE the form designer is a VCL form designer and at design-time the web components are mimicked as VCL controls, here we have the real web component rendered in the form designer just like it will be rendered in the browser when the application is generated. Even at design-time, a CSS library such as Bootstrap can be used and it will show the controls on the form designer using the selected Bootstrap classes/themes. Of course, the fact that the IDE itself is free, light, fast, modern and that it runs on Windows, macOS, Linux is a fantastic & welcome additional benefit. Another not to be overlooked technical advantage is that Visual Studio Code has bindings to make it easy to debug Object Pascal code from the IDE (as opposed to debugging JavaScript code from the browser console).


Debugging a TMS WEB Core application directly from the Visual Studio Code IDE

Prerequisites?

The OmniPascal Visual Studio Code extension already brings excellent Object Pascal syntax highlighting, code completion, class completion and several more features for code editing. An interesting tidbit is that OmniPascal internally uses the Delphi AST engine, written by our colleague Roman Yankovski, product manager of TMS FixInsight. Of course, another prerequisite is the pas2js compiler. This is the compiler that brings the magic of compiling (or transpiling if you prefer this terminology) the Object Pascal code to JavaScript in the browser. This means that as Delphi developers, anything that happens in the browser, is under control of our beloved language. Fortunately, the TMS WEB Core for Visual Studio Code extension is developed in such way that these prerequisites are fully automatically installed in the IDE.

How does it compare with TMS WEB Core for Delphi or Lazarus?

The good news here is that the full TMS WEB Core framework works unchanged under Visual Studio Code. So, there is full framework feature parity between Delphi, Lazarus & Visual Studio Code. We also set it as a development requirement to offer the ability to open up Delphi created TMS WEB Core projects from Visual Studio Code and vice versa. As TMS WEB Core for Visual Studio Code uses the exact same framework code as Delphi, this means that whenever we add features or improvements to the Delphi product, this will be automatically adopted in the Visual Studio Code version. The reverse is of course also true.

What does this mean for TMS WEB Core for Delphi?

TMS WEB Core for Visual Studio Code is not a replacement for TMS WEB Core for Delphi. It is nothing more and nothing less than another IDE choice. We believe in freedom of choice. So, every developer can decide for himself what the preferred IDE is, be it Delphi, Lazarus or Visual Studio Code. Of course, the fact that Visual Studio Code & Lazarus are cross platform, i.e. can be used directly from macOS or Linux can be a deciding factor. Other than this, Delphi is used for way more than just developing TMS WEB Core web client applications, for example the development of a TMS XData or Embarcadero RAD server REST back-end. It is our hope actually that offering the Delphi RAD OO component based development for the Visual Studio Code community and showing the advantages it can bring, will attract these users also to Delphi!

What about the TMS FNC UI Controls that also work with TMS WEB Core?


TMS FNC Planner in a TMS WEB Core application in Visual Studio Code

Also here good news! TMS FNC Controls will also work fine from Visual Studio Code! There is also in TMS WEB Core for Visual Studio Code a mechanism for installing additional components. As such, you can also install TMS FNC controls in Visual Studio Code and benefit from all the power these controls bring! This makes the power of TMS FNC meanwhile staggering & mind-blowing. The FNC controls can be used in VCL Windows applications, FMX Android, macOS, iOS, Windows, Linux applications, LCL Windows, macOS & Linux applications, TMS WEB Core web applications for any HTML5 compliant browser from Delphi, Lazarus and Visual Studio Code.

Does TMS WEB Core also work with Visual Studio Online?

I know it gets boring, but this is another yes. Visual Studio Online is in beta right-now and promises to bring an IDE in the cloud. An IDE you can simply use from the browser. Anywhere, anytime, any machine with a browser can be used to develop, develop, develop ... (I hear Steve Ballmer somewhere here).
So yes, we have tested TMS WEB Core with Visual Studio Online and also from the browser, it is possible to create web client applications for the browser. The circle is closed also in this area.

And what about the licensing?

We are strong believers in the KISS principle. So, to keep it simple, there will be just one TMS WEB Core license! Yes, you read that good. When you have a TMS WEB Core license, you decide in what IDE to use the framework or you can simultaneously use this in multiple IDEs. Delphi licensed TMS WEB Core users will be able to explore how things work in the Visual Studio Code IDE, on Windows or macOS or Linux or multiple operating systems. Visual Studio Code users might be tempted to try out TMS WEB Core with a Delphi Community or full edition and use the extra benefits Delphi brings, for example to build the back-end.


A TMS WEB Core Delphi sample project in Visual Studio Code on Linux

A TMS WEB Core Delphi sample project in Visual Studio Code on macOS

I'm blown away, I want it now!

We fully understand. This was/is the most mind-blowing development project in the 24 year history of TMS software. Never before we heard so much 'wow' sounds when our developers in our team were progressing step by step to build this magic. The audience in the TMS Training Days Düsseldorf and Be-Delphi conference in Belgium were also flabbergasted. Well, we are working extremely hard to bring a first beta in your hands. Let there be no misunderstanding, there is still more work & more polish needed before that milestone is reached. This is what our team now wants to fully focus on in the coming weeks. When we feel confident our baby will be safe in your hands, we will roll-out a beta soliciting your feedback. Our TMS ALL-ACCESS users will be the first to receive this beta. We will send out notifications when this is ready. Our aim is to bring a nice XMas present for you this year, but of course this is subject to change. The main criteria will be that the entire team is confident about the quality of the beta. At TMS, we don't like the fetish of fixed dates for releases.

Roadmap

Our team already has ideas for further developments in several directions. So, sure, after a first release, we already have further exciting developments on our list. But foremost, we would love to hear from you what extra features, future directions you would like to see for this project. Contact us or leave a comment here!

TMS WEB Core v1.3 features part 1 of 2

$
0
0

We are near the release of TMS WEB Core v1.3 for Delphi & Lazarus. The past 4 months of development in the team has been intense and exciting. The release is approaching, so we're happy to share what v1.3 will bring. Actually, version v1.3 has so many new features & improvements that this will span two blog posts. As you might be aware of, TMS WEB Core releases follow the 1955 Mille Miglia race track in Italy from Brescia to Rome and back. As such, version v1.0 was named Brescia. Version v1.1 got the name Verona and v1.2 the name Padua. Now, for version 1.3 we arrived in the city Ferrara which is the new name of this new upcoming release.




Let's dive immediately into what TMS WEB Core v1.3 brings:

1) Automatic minify/uglify when compiling in release mode from the IDE


Before, this was typically something that developers could manually perform after a compile is release mode was done. To save the effort of this extra step, a minify/ugligy of the generated JavaScript code will automatically be performed after compiling. This typically reduces the size of the generated JavaScript code by 40%

2) Automatic JavaScript file versioning


Now, upon each compile in release mode, the JavaScript filename can automatically have a version number suffix. And this version number can be automatically incremented. This brings the advantage that when a new version is released, there is no more risk that the browser keeps loading an old cached version of the project JavaScript file.

3) Easy UI for HTML element binding at design-time


This is perhaps our favorite feature for TMS WEB Core v1.3. By providing a grid view of all UI controls and the HTML elements in the template these can be bound to or the opposite view of all HTML elements in the template and the UI controls there are linked to, it should help having a better overview of the HTML element template binding and to perform this task faster.

4) Visual form inheritance support


Yes, now you can have visual form inheritance from a TMS WEB Core web form. Simply right click the form from the project manager and select "Derive here". This will add a new form to the project deriving from the selected form.

5) Frames support


The frames paradigm many Delphi developer like and use throughout applications is now available for TMS WEB Core projects as well.

6) Design-time editors for HTML template properties


Some UI control properties allow for specifying HTML formatted text, for example as template for items in the TWebResponsiveGrid. Before, this HTML template was edited as a string in the Delphi IDE object inspector. As typically such HTML template string can be lengthy, this quickly became cumbersome to edit in the object inspector. Now, a popup editor appears that already offers some HTML formatting options from a toolbar and a preview of the HTML.

7) Firestore support via TWebFirestoreClientDataSet


If you want to take advantage of the Google Firestore as a back-end for your data, this is now made even more simple with the TWebFirestoreClientDataSet. This component provides access to a Google Firestore table as a dataset, offering full CRUD functionality. You can of course bind the TWebFirestoreClientDataSet to the various DB-aware TMS WEB Core UI controls via a TWebDataSource.

8) myCloudData.net support via TWebmyCloudDBClientDataset


The myCloudData.net service offers cloud based data storage using tables with fixed fields and rich metadata. If you want to use the myCloudData.net service, the new component TWebmyCloudDBClientDataset makes it easier than ever to bind DB UI controls to its data.

9) SQLRestDBBridge support via TWebSQLRestClientDataset


The SQLRestDBBridge is an open-source and free configurable REST server to access SQL databases on the server. Also for this technology, a non-visual client dataset component TWebSQLRestClientDataset makes it easier than ever to use such server back-end with virtually no code to write.

10) Push notifications via TWebPushnotifications component


Enable & use push notifications from your web application, also when the web application is not running. This technology uses the Google Chrome, Firefox or Microsoft Edge web push notification server to send notifications triggered from a back-end. The TWebPushnotifications enables registering for such web push notifications. We will also introduce later the back-end solution that controls the push notification generation server side.

So, that is a first list of 10 new features coming in TMS WEB Core v1.3 Ferrara. In a follow-up blog article, we will uncover 10 more new features for the next release of TMS WEB Core. Stay tuned!

High DPI stress relief with SVG in TMS FNC Core 2.0 and TMS FNC UI Pack 3.0!

$
0
0

Intro

When actively searching for high DPI in Google there seems to be a lot of struggle. Various high DPI aspects such as font scaling, anti-aliased rendering, various calculations all need to take high DPI into account to make sure the application and components are looking great and sharp. This gives the developer a series of headaches, but as soon as those aspects are handled, the application looks great, and the headaches go away. There is one aspect however, which is perfectly manageable, but always needs a lot of attention and work with every application/component update: images.

Images in high DPI

Images that are used in applications (16x16, 24x24, ... icons (ICO, PNG, JPG, ...)) typically render great under 100% scale, but as soon as there is a scale change that exceeds 100%, images are stretched and loose their sharp appearance. A solution for this issue is to have multiple image collections/lists and whenever a scale change happens, the application or component is offered a different (typically larger) image. The image then fits the calculated rectangle and offers sharp rendering under various scales (100%, 125%, 150%, 175%, 200%, ...). This means that the user/developer needs to sort out, add and manage multiple images for each scale for each part of the application he/she is developing. This is both time and resource consuming. Fortunately, TMS FNC Core 2.0 comes with a solution to limit both time and resources: SVG.

SVG

SVG (Scalable Vector Graphics) is a format based on XML that offers static and dynamic vector images. The most important word is the word "Scalable". This means that, under each circumstance, whether it is 100% or 200%, the image graphics are scaled and are rendered sharp. It is not rendered as an image, but as part of the graphics used inside the application/component. With TMS FNC Core 2.0 we have implemented and registered SVG and aim for smaller icons to be used in toolbars, menus, buttons and that need to render sharp, anti-aliased out of the box. No more multiple image collections/lists for each scale, no more maintenance in this aspect of your application. Worry-free SVG images that automatically scale whenever the application detects a scale change, or whenever a component rendering is updated.

TMS FNC Core 2.0 with first release of SVG support

TMS FNC Core 2.0 adds the ability to add SVG to your application. The SVG support that has been added is limited to uncompressed SVG files in XML format with the following features:
  • SVG supported elements
    • circle
    • clipPath
    • defs (limited to predefined style, no gradients, no paths, only single fill/stroke parameters)
    • ellipse
    • g
    • image (limited to base64 encoded string value)
    • line
    • path
    • pattern (no gradients, no paths, only single fill/stroke parameters)
    • polygon
    • polyline
    • rect
    • style
  • Within the style element supported parameters are
    • fill (no gradients)
    • stroke (no gradients)
    • stroke-width
    • opacity
  • Within the primitives (line, polygon, polyline, rect, path) supported parameters are
    • fill (no gradients)
    • stroke (no gradients)
    • stroke-width
    • transform (scale, rotate, translate, matrix)

TMS FNC Core 2.0 registers the TTMSFNCSVGBitmap type as a TGraphic class suitable for loading within the TPicture class (VCL, LCL). For FMX, the TTMSFNCBitmap class is extended with SVG support and also supports designtime loading via a separate bitmap editor.

FMX


VCL, LCL


WEB Support

WEB supports SVG out of the box. There is no separate import / rendering engine necessary. Each component that can show images is capable of rendering SVG. There are no limitations except the ones that are tied to the SVG specification for HTML / JavaScript pages. The result of loading SVG can differ from desktop applications written in FMX, VCL and LCL especially the scaling part. Some SVG files have a ViewBox parameter that does not match the content size, and this is internally solved with aspect ratio parameters at the SVG element. This combination has been tested in our components and showed SVG files that ignore aspect ratio.

SVG based image collection in TVirtualImageList (Rio and newer)

Starting from Rio, TVirtualImageList is supported and can attach a separate image collection. This has been added to have a way to support high DPI images in controls. With TMS FNC Core 2.0, we have added an extension to the base image collection to add support for SVG. The TTMSFNCSVGImageCollection component is registered separately and can be attached to the TVirtualImageList component. The TVirtualImageList component is responsible for generating images depending on the resolution. With SVG, you can attach a single list of SVG files via the TTMSFNCSVGImageCollection and your application will have auto-scaled images based on SVG for each resolution. This eliminates the need for up to 7 (depending on the scale levels of the operating system) image list variants based on default image types such as PNG, JPG, ... . This automatically results in user-friendly development and management of the application.

TMS FNC UI Pack 3.0

Depending on TMS FNC Core 2.0 is the new TMS FNC UI Pack 3.0 update. The update has a lot of smaller improvements and fixes and also fully supports SVG. We have also added a series of smaller components that can be used to further enhance your application and go the FNC way:

  • TTMSFNCTrackBar
  • TTMSFNCRangeSlider
  • TTMSFNCSpinEdit
  • TTMSFNCComboBox
  • TTMSFNCSwitch
  • TTMSFNCLabelEdit

Get started!

Get started and implement SVG in your application, and/or explore the new set of smaller components by downloading the latest version of TMS FNC Core. Please remember to also update TMS FNC Core depending FNC products such as the TMS FNC UI Pack. Feedback around SVG or the new set of smaller components is greatly appreciated! More information on SVG can be found in the documentation and videos below.

SVG: Documentation
http://www.tmssoftware.biz/download/manuals/TMSFNCSVGDevGuide.pdf

SVG: Using the Bitmap Container component
https://www.youtube.com/watch?v=ZyvJcCIqh7o



SVG: Using vectors with a Bitmap Selector
https://www.youtube.com/watch?v=9OS0RT4SAyc



SVG: Using vectors as icons in a listbox
https://www.youtube.com/watch?v=XKu6ifCyo7Y






TMS WEB Core v1.3 features part 2 of 2

$
0
0

A couple of days ago, we wrote a first blog article about the new features coming in TMS WEB Core v1.3. If you were not already stunned by the first 10 new features presented for TMS WEB Core v1.3 Ferrara, here are 10 more new features:

1) Web crypto API wrapper classes

The web crypto API is meanwhile also standard built-in in all modern browsers. Therefore, for your convenience, easy to use Pascal wrapper classes are now provided that allow you to take advantage from these APIs from your code. This includes AES & RSA encryption as well as RSA & HMAC signature generation.

  • TAESEncryption
  • TRSAEncryption
  • TRSASignature
  • THMACSignature


2) Regular expression API wrapper class TRegEx


Browsers did have regular expression handling functionality for a long time. To make this easy to use for Delphi developers, we created a TRegEx class with an almost identical interface to the Delphi TRegEx class for maximum code reusability.

3) Local file access via TWebFilePicker, TWebFileUpload

TWebFilePicker is a component to let you pick local files via an open dialog while TWebFileUpload lets you do the same but in addition also enables to drag files from the machine file explorer to the browser. The components TWebFilePicker, TWebFileUpload have been extended to offer access to the properties of the selected local files as well as get the data of the file(s) in text, base64, URL or byte array format.

4) TWebLookupComboBox, TWebDBLookupComboBox

Having a combobox with two values per item, a displayed value and a data value is often a requirement for UI logic. With TWebLookupComboBox and its DB-aware counterpart TWebDBLookupComboBox, this is now out of the box available. Simply set & retrieve both the display value and data value per item.

5) Redesigned TWebMainMenu


Previously, the VCL TMainMenu equivalent for the web uses the jqWidgets controls by default. While the jqWidgets menu is nice & powerful, we thought it was better to have a menu component in the base controls and a separate one that is based on jqWidgets for those who need extra features. The new TWebMainMenu however brings all the convenience of the VCL TMainMenu and in addition has built-in responsive design. That means, if the width of the menu becomes too wide, it will collapse automatically and behave as a hamburger menu.

6) New features for TWebGoogleMaps


A lot of Google Maps functionality that was already available in our VCL TWebGMaps or FMX equivalent for a long time has now been added to TWebGoogleMaps. Adding circles, lines, rectangles, polygons, polylines is now possible. Selecting themes, load GPX files, use KML layers is easily accessible by calling simple TWebGoogleMaps methods.

7) New TWebImageZoomControl


An often used paradigm in web applications is the display of a thumbnail and showing the large version of the image when it is clicked. We have nicely encapsulated this functionality in the TWebImageZoomControl. With this control, it is as easy as setting the thumbnail image URL and large image URL and the control does everything for you.

8) Support for selecting the Electron version


With frequent new releases of the Electron framework for building cross platform desktop applications from your web applications, controlling which version of Electron to use became hard. Now, with a setting under project options, it is easy to select with what version of Electron you want to package your application (if multiple Electron versions are installed on your machine).

9) Component attribute for JS & CSS lib dependencies

[JSLibReferenceAttribute(‘https://somecdn/mylib.js’)]
TMyDependentComponent = class(TCustomControl);

This is a feature that will please developers diving into custom control development for TMS WEB Core. Often, a custom control can have a dependency to an external JavaScript and/or CSS library. When one uses the control but forgets to include the references to these external libraries, the control will normally not work. To avoid this, a new attribute was provided and the attribute parameters hold one or more external library references. When such control is added to the project, the library references will be automatically added to the project HTML file.

10) Update to latest pas2js compiler and pas2js RTL

We have included the latest pas2js compiler release version and updated to the latest RTL source. This way you can take advantage of all latest releases of the open-source pas2js project.

Our team is working hard doing the last finishing touches on the v1.3 release which is around the corner. Active TMS WEB Core users and TMS ALL-ACCESS users will get a notification shortly that the new version is available from the account page on our website.

TMS FixInsight 2019.11

$
0
0

I'm happy to announce FixInsight 2019.11 release

What's New

* New : Rule W531 Actual parameter of FreeAndNil() must be a reference to class instance
* New : Rule W534 Class instance passed but interface expected
* Fixed : FixInsight hangs in some cases when running W525
* Fixed : File specified in {$INCLUDE} directive cannot be found in some cases
* Fixed : Access Violation on IDE start
* Fixed : "Load Defaults" button in Settings dialog doesn't restore general settings
* Fixed : Several parser issues

I'll add few more words about new features.

Rule W531 ensures that the parameter of FreeAndNil() is be a reference to a class instance. Due to FreeAndNil() implementation details, compiler is not able to check its parameter type.

This compiles, but this is wrong:

  var
    Intf: IInterface;
  begin
    FreeAndNil(Intf);
  end;

Rule W534 ensures that a class instance is not passed when an interface is expected. This may compile, but due to reference counting a class can be released right after such method call.

Example:
type
  ISomeInterface = interface
  ['{AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}']
  end;

  TSomeClass = class(TInterfacedObject, ISomeInterface)
  end;

procedure DoSomethingWithSomeInterface(const SomeInterface: ISomeInterface);
begin
  // ...
end;

procedure DoSomethingWithSomeClass;
var
  SomeClass: TSomeClass;
begin
  SomeClass := TSomeClass.Create;
  try
    DoSomethingWithSomeInterface(SomeClass); // <= W534
    // After this call SomeClass will be released due to reference counting
  finally
   SomeClass.Free; // cannot be released twice
  end;
end;
Also there are new parameters for command line tool. In this release FixInsight needs to know more about your project.
FixInsightCL --project=c:\source\example.dpr --libpath="C:\Program Files (x86)\Embarcadero\Studio\20.0\source" --unitscopes=Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;System;Xml;Data;Datasnap;Web;Soap
--libpath should point to your Delphi source folder. And I suggest to copy values for --unitscopes and --unitaliases parameters from your project options.

TMS VCL UI Pack v10.1 with Office 2019 style and SVG support

$
0
0

Since the release of TMS VCL UI Pack v10.0 earlier this year in July, a lot more hard work went into the TMS VCL UI Pack v10.1 that we are pleased to present today.

This new release v10.1 of TMS VCL UI Pack, our suite with over 300 feature-rich VCL UI controls, brings two major new features besides a long list of improvements and smaller features done in individual components.

Office 2019 style

In this version we introduce the Office 2019 styles. This will give your application the same look and feel as the Office programs that you are familiar with (e.g. MS Word, MS Excel, MS Outlook, …).



Compared to Office 2016, Microsoft did subtle color changes in the 3 Office color variants: white, gray and black.
The biggest change comes with the way the page controls look (in particular for tabs on page controls). Instead of the color of the selected tab being different, now a line is used to indicate the selected tab. Not only it changed visually but also the behavior. Now, the active tab indicator is animated when changing between tabs and the line gets wider when you hover over the tab.
If you had used the TAdvFormStyler, TAdvAppStyler, introducing the new Office 2019 style in your application takes no more steps than changing TAdvFormStyler.Style or TAdvAppStyler.Style to one of the tsOffice2019White, tsOffice2019Gray or tsOffice2019Black values.

SVG support

Another major new feature is support throughout the TMS VCL UI Pack to use SVG images besides BMP, GIF, JPEG, PNG, ICO file formats already supported.
SVG (Scalable Vector Graphics) is a format based on XML that offers static and dynamic vector images. The most important word is the word "Scalable". This means that, under each circumstance, whether it is 100% or 200% DPI scale, the image graphics are scaled and are rendered sharp. It is not rendered as an image, but as part of the graphics used inside the application/component. In the TMS VCL UI Pack 10.1, we have implemented and registered the SVG file format which are now rendered by our own SVG rendering engine we have written. Typical UI icons such as used in toolbars, menus, buttons, listview, treeview etc… can now use SVG images so these are rendered sharp, anti-aliased out of the box. No more need for multiple image collections/lists for each DPI scale. The SVG images will always automatically scale whenever the application detects a DPI scale change.


Difference between PNG & SVG rendering on a high DPI monitor

New TAdvSVGImageCollection


For Delphi 10.3 Rio users, our new TAdvSVGImageCollection can be coupled with the TVirtualImageList and our TAdvSVGImageCollection filled with SVG images will update the TVirtualImageList automatically and on-the-fly with sharp rendered images for the DPI value the TVirtualImageList requests these. Per icon, just pick one SVG images instead of up to 7 PNG images that might meanwhile be needed to cover the range of DPI scale one might encounter on the Windows operating system.


Previously you had to fill the ImageCollection with many variants of image sizes for every application icon

Now with SVG support and the TAdvSVGImagecollection component, just add one SVG icon file to the collection and the TVirtualImageList will render these crystal-clear regardless of the DPI it requests the icons for. And moreover, having only one SVG file resource per image will significantly reduce the resources in your EXE.


TVirtualImagelist rendering 4 different variations coming from a single SVG icon resource in the TAdvSVGImageCollection

The full list of new features can be found here.

From today, all active TMS VCL UI Pack users can get this update free! For users with an expired license, please find the discount upgrade offers after login on our website under “Account / My Products”

These are exciting times for VCL Windows application developers. We are eager to learn what you look forward to next!

My first TMS Training Days

$
0
0

Now that all the releases are out, I can finally tell you about how I have experienced the TMS Training Days in Düsseldorf on the 14th and 15th of November. These were my first TMS Training Days and I can say that the experience will remain with me throughout my life.

Before I start, I would like to thank all my colleagues for giving me a warm welcome and making me feel like I’ve been a part of the TMS family for far longer than I actually am. They answered all my questions, even the stupid ones. And they treat our customers with the same friendliness. Which isn’t that hard as the attending customers were also very kind to me.


TMS Business Masterclass


With great expectations I took a seat in the back of the meeting room, ready to listen to Wagner in the TMS Business Masterclass. He showed us the long road it took from his first product TMS Scripter to his latest TMS Echo. Another product of his is TMS Aurelius, on which John Kouraklis wrote a book: ‘Introducing Delphi ORM: Object Relational Mapping Using TMS Aurelius’. John elaborated on how and why he created this book and why he chose TMS Aurelius for the task. And as a gift there was a copy of the book for every attendee.

Wagner went on with some more in-depth explanation of his products and the newest and most important features. Thanks to the Q&A interaction of the sessions, the more advanced users could get their questions and problems answered by the creator as well. This gave a satisfied feeling for new and experienced customers.

TMS Dev Intensive

The second day was TMS dev Intensive. After a night of dreaming about the TMS Business Tools, I was ready for another packed day. Bruno welcomed everyone for what would be a day full of novelties. Which he immediately proved by showing us the new features in the TMS VCL UI Pack. Thanks to the implementations of SVG there will be no more hassle to get your applications running nice on high DPI. Now you can get your office styled application up to date with the implementation of Office 2019 style.

Ever wondered how to sign PDF files in a secure way? Marion shows us how easily this can be done with the TMS Cryptography Pack. In just a small set of commands we can ensure that the PDF file is from the author and hasn’t been tampered with.

After a small coffee break, I was amazed by Adrian’s session on TMS Flexcel 7.0. It’s hard to comprehend what is possible with this product, actually everything is possible with regard to Excel. His demos showed demonstrated that perfectly.

Then it was time for the marvelous revelation, which I assume you already heard a lot about since then. But we revealed TMS WEB Core for Visual Studio Code to the public. Not only revealed, but all the attendees got a link to personally test magnificent piece of work for some time. While José was showing an example after a small explanation of what TMS WEB Core for Visual Studio Code was, you could hear a pin drop. Everybody was holding their breath when the application was compiling and at the moment the page opened, a lot of people gasped. Even I did, and I already knew what would happen.

Roman Yankovsky put us back with our feet on the ground as he showed us that we do make mistakes while programming. Thank god there is TMS FixInsight, with this tool for static code analysis you will have a more robust and cleaner code. It even gives you optimization advice. To my opinion this tool should be used by every developer to get the best out of your code.

One session on TMS WEB Core wasn’t enough. We still had to explain all of the new features in the upcoming v1.3 Ferrara release. And I can tell you there were a lot. 22 bullet points were shown in the presentation. So much that it would have been to much to even put it in one blog post. (A second was needed.)

Last but not least, we’ve created an application with Holger where everything came together of what we had seen in the last two days. A great summary to let the big chunk of information into our brains. Holger showed us how to use TMS XData, TMS WEB Core, Google Maps, Google Charts and a multi-level treeview all in just one hour. This was the perfect example of how powerful our products are separately, but extraordinary when you combine them.

It was a great experience which made me realize that you can level up your application a lot with our products. The balance between demonstrations and upcoming ideas made it perfect to know what you already can do with the tools and what you will be able to do in the near future. You could think that if you read all of blogs that are linked, that you already know everything, but that isn’t true. There was a lot more covered in the sessions and because of the interaction, it was a personal presentation where the speakers had time for your questions.

If you are wondering if you should come the next time. Don’t hesitate!
And maybe I will be the one answering your questions next year.


macOS & Android 64 bit compile-ready support (update)

$
0
0

A while ago, we've posted a blog about macOS 64 bit support that has been added to our products. macOS 64 bit support has been added in RAD Studio Rio 10.3.2 and now with the 10.3.3 release, you can also target Android 64 bit. Unfortunately, there is no automatic installation for those 2 targets as there is no way for us to detect which version is installed and for which target(s) we need to compile. We aim for adding automatic installation support in RAD Studio 10.4. More information on how to add macOS and/or Android 64 bit support to your application is explained in the following blog post:

https://www.tmssoftware.com/site/blog.asp?post=571

Viewing all 1008 articles
Browse latest View live


Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>