<?xml version="1.0" encoding="UTF-8"?><rss version="2.0">	<channel>	<title>TMS Software</title>	<link>https://www.tmssoftware.com</link>	<language>en</language>	<pubDate>Thu, 19 Dec 2019 10:48:00 +0100</pubDate>	<docs>http://blogs.law.harvard.edu/tech/rss</docs>	<ttl>1440</ttl>	<generator>TMS Software</generator>	<image>		<url>https://www.tmssoftware.com/site/img/tmslogo.png</url>		<title>TMS Software</title>		<link>https://www.tmssoftware.com</link>	</image>
	<item>
		<title><![CDATA[TMS certified consulting partner: FlixEngineering LLC]]></title>
		<link>https://www.tmssoftware.com/site/blog.asp?post=611</link>
		<author>Masiha Zemarai</author>
		<pubDate>Thu, 19 Dec 2019 12:00:00 +0000</pubDate>
		<description><![CDATA[<P><img src="https://www.tmssoftware.com/site/img/blog/flixengineering.png" class="clear" />
	<p class="clear"></p>

<h2>Company history:</h2>

Since 1996, Dr. Holger Flick has been using Delphi as his primary development platform and has been an active member of the community. He studied computer science at Dortmund University and later wrote his dissertation at the Ruhr University in Bochum in the field of telemedicine.
For his passion for and knowledge of Delphi he was awarded the "Delphi MVP" moniker in 2016. In 2018, Holger moved to the United States of America (USA) and established his new company FlixEngineering LLC. The company focuses on consulting, training and software development using object-oriented programming languages like Delphi, C#, Swift, and Objective-C. Holger is part of the TMS Software family providing his expertise as Evangelist and QA Engineer.
<br><br>
<br>
<h2>Expertise:</h2>
<ul>
<li>VCL UI Pack
<li>Business Suite Products (XData, Remote DB, Sparkle)
<li>Web Core
<li>FNC Framework solutions
<li>On-Site Training
</ul>
<br><br>

<h2>Primary involvement in TMS products:</h2>
<ul>
<li>Trainings 
<li>Recording tutorial videos
<li>Speaking at conferences (in-person or virtual)
</ul>
<br><br>

<h2>What&#39;s next?</h2>
Currently, Dr. Holger Flick is hard at work to self-publish a book for TMS Web Core in German language. 
<br><br>
<br>
<h2>TMS Partnership:</h2>
Even though <a href="https://flixengineering.com/" target="_blank">FlixEngineering</a> has just been founded in 2019, the relationship and cooperation with TMS Software and its owner, Bruno Fierens, has existed
since the early 2000s. Holger Flick, owner of FlixEngineering, met Bruno Fierens in person at a developer event in the Netherlands in 2004, and ever since Holger has been a fan and supporter of TMS components. 
Back in the day, Holger was still a college student, but his focus was already on posting on the web about interesting Delphi component sets and practices. Holger was one of the first Delphi Bloggers, his blog was called "Holger&#39;s Thoughts on Delphi". Borland (remember, this was a long time ago.) recognized that he had a talent to find bugs in software rather sooner than
later, which led to Holger becoming part of the Delphi QA team. 
<br><br>
<img src="https://www.tmssoftware.com/site/img/blog/TMSDays_holger.jpg" width="50%" class="clear" />
	<p class="clear"></p>
<img src="https://www.tmssoftware.com/site/img/logos/flixengineering.png" class="clear" />
	<p class="clear"></p>
<br>
The involvement with TMS only grew stronger through the years as TMS was a close partner of Borland, and Holger also started testing component sets for TMS Software. Further, he had the guts to make suggestions how to extend and improve certain components. After finishing his studies and deciding that he loved teaching people about Delphi and associated technologies, Holger became part of the TMS Team in 2017. In 2018, he moved to the United States of America, founded FlixEngineering, and promotes TMS products on that continent in person and world-wide online. 
<br>
Thus, FlixEngineering is your partner for trainings and software development. 
<br><br>
<br>
<h2>Finally:</h2>
Working with us means counting on decades of experience in Delphi and
facilitate the power of the <a href="https://www.tmssoftware.com/site/partners.asp">TMS Consulting Partner Network</a>.


<br><br></P>]]></description>
	</item>
	<item>
		<title><![CDATA[TMS FNC Blox for the WEB!]]></title>
		<link>https://www.tmssoftware.com/site/blog.asp?post=610</link>
		<author>Pieter Scheldeman</author>
		<pubDate>Thu, 12 Dec 2019 12:00:00 +0000</pubDate>
		<description><![CDATA[<P><h4>Intro</h4>
A while back, we brought FNC to the WEB, except <a target="_blank" href="https://www.tmssoftware.com/site/tmsfncblox.asp">TMS FNC Blox</a> was missing due to some deep technical limitations. We can now proudly announce that <a target="_blank" href="https://www.tmssoftware.com/site/tmsfncblox.asp">TMS FNC Blox</a> supports <a target="_blank" href="https://www.tmssoftware.com/site/tmswebcore.asp">TMS WEB Core</a>!
<br/>
<br/>
<h4>Features</h4>
Below is a list of features that are supported in <a target="_blank" href="https://www.tmssoftware.com/site/tmsfncblox.asp">TMS FNC Blox</a>.
<br>
<br>
<ul>
<li>High-quality (anti-aliasing) drawing of blocks and lines
<li>Open architecture for building custom blocks and lines inherited from base classes
<li>Ready-to-use flowchart, arrow and electric blocks
<li>Linking system allow customizable link points and information retrieval of connected blocks
<li>Block gradient, shadow and bitmap
<li>Full block customization: pen, brush, color, selection color, minimum width and height
<li>Block text customization: horizontal and vertical alignment, font, word wrap, clipping
<li>Customizable link points in blocks
<li>Full line (link) customization: pen, source arrow shape, target arrow shape
<li>Arc & bezier lines, polygon objects
<li>Block rotation supported (including text, bitmap and gradient)
<li>Separate TTMSFNCBloxToolBar component for easy diagram editing with no line of code (needs <a target="_blank" href="https://www.tmssoftware.com/site/tmsfncuipack.asp">TMS FNC UI Pack</a>)
<li>Diagram snap grid
<li>Diagram rulers
<li>Saving/Loading diagram to/from file and stream
<li>Diagram zoom in/out
<li>Panning
<li>Helper classes TTMSFNCBloxBlockDrawer for easy custom drawing on custom blocks
<li>Object deletion and inserting, zooming, and more.
</ul>
<br/>
<h4>Compatibility</h4>
With FNC we aim for reusable code and when bringing <a target="_blank" href="https://www.tmssoftware.com/site/tmsfncblox.asp">TMS FNC Blox</a> to the WEB we wanted to maintain compatibility with FMX, LCL and VCL as much as possible. By rewriting the persistence part of TMS FNC Blox and integrating it into <a target="_blank" href="https://www.tmssoftware.com/site/tmsfnccore.asp">TMS FNC Core</a> it is possible to load blox files that have been saved in a VCL, LCL or FMX application into a <a target="_blank" href="https://www.tmssoftware.com/site/tmswebcore.asp">TMS WEB Core</a> client application. The code for creating and registering custom blocks in VCL, LCL or FMX is also compatible with <a target="_blank" href="https://www.tmssoftware.com/site/tmswebcore.asp">TMS WEB Core</a>.
<br/>
<br/>
<h4>Getting Started</h4>
Install the latest version of <a target="_blank" href="https://www.tmssoftware.com/site/tmswebcore.asp">TMS WEB Core</a>, <a target="_blank" href="https://www.tmssoftware.com/site/tmsfnccore.asp">TMS FNC Core</a> and <a target="_blank" href="https://www.tmssoftware.com/site/tmsfncblox.asp">TMS FNC Blox</a>
The demo (also included in the <a target="_blank" href="https://www.tmssoftware.com/site/tmswebcore.asp">TMS WEB Core</a> demonstrates the uses of the TTMSFNCBloxToolBar, TTMSFNCBloxSelector and how to add, configure and manipulate blox elements.<br/> Demo: <a target="_blank" href="http://www.tmssoftware.biz/tmsweb/demos/TMSWEB_FNCBlox/">http://www.tmssoftware.biz/tmsweb/demos/TMSWEB_FNCBlox/</a>
<br/>
<br/>
<a target="_blank" href="https://www.tmssoftware.com/site/img/TMS%20FNC%20Blox%20WEB.png"><img width="1000px" src="https://www.tmssoftware.com/site/img/TMS%20FNC%20Blox%20WEB.png"/></a><br><br></P>]]></description>
	</item>
	<item>
		<title><![CDATA[Learn all about TMS WEB Core v1.3 in a 10 minute video! ]]></title>
		<link>https://www.tmssoftware.com/site/blog.asp?post=609</link>
		<author>Bruno Fierens</author>
		<pubDate>Wed, 4 Dec 2019 12:00:00 +0000</pubDate>
		<description><![CDATA[<P>There is a lot to discover in <a href="tmswebcore.asp">TMS WEB Core</a> v1.3 Ferrara. Our colleague Holger Flick made it is easy & fast for you to discover what is new with a video covering the details. In about 10 minutes, you will know all  about the new release. Holger made the video in English as well as German language.<br><br>
This is the English video:<br>
 <object data="https://www.youtube.com/embed/i4GNkCCC0P4"
   width="720" height="405"></object>
<br>
<br>

This is the German video:<br>
 <object data="https://www.youtube.com/embed/qXrO6QE4Suk"
   width="720" height="405"></object>

<br>
<br>
<h3>Get started:</h3>
The new v1.3 Ferrara version is available now for <a href="tmsallaccess.asp">TMS ALL-ACCESS</a> users, <a href="tmswebcore.asp">TMS WEB Core</a> registered users and TMS WEB Core trial users!
<br><br>
For <strong>TMS ALL-ACCESS users</strong>, simply use the <a href="https://www.tmssoftware.com/site/blog.asp?post=421">TMS Subscription Manager</a> and from there, you can download and install TMS WEB Core v1.3 Ferrara. 
<br><br>
The v1.3 full version for <strong>registered users</strong>, can be download after login on our website under "Account / My Products / TMS WEB Core".
<br><br>
For <strong>trial users</strong>, the v1.3 trial can be downloaded from:
<a href="https://www.tmssoftware.com/site/tmswebcoreintro.asp">https://www.tmssoftware.com/site/tmswebcore.asp</a>

<br><br>
<strong>Note: first perform an uninstall of the previous version!</strong>
<br><br>


<h3>More information:</h3>
There is so much more to tell about TMS WEB Core, so we kindly invite you to visit our landing page: <a href="http://web.tmssoftware.com">http://web.tmssoftware.com</a> where more information is provided, including online demos, video tutorials and more.
<br><br>
We&#39;re sure you&#39;ll be excited to get started exploring these new features. Our team has been long & hard at work on this. Discover TMS WEB Core v1.3 Ferrara and share your experiences and your comments with us.<br><br></P>]]></description>
	</item>
	<item>
		<title><![CDATA[TMS WEB Core v1.3 Ferrara release!]]></title>
		<link>https://www.tmssoftware.com/site/blog.asp?post=608</link>
		<author>Masiha Zemarai</author>
		<pubDate>Tue, 3 Dec 2019 12:00:00 +0000</pubDate>
		<description><![CDATA[<P><img src="https://www.tmssoftware.com/site/img/mailings/mailing_ferrara.png" class="clear" />
	<p class="clear"></p>
<br>
We are happy to announce the release of <strong><a href="https://www.tmssoftware.com/site/tmswebcore.asp">TMS WEB Core v1.3 Ferrara</a></strong>!
<br>
For months it has been tested & evaluated by our team, now it is available for all! 

<br><br>
TMS WEB Core v1.3 brings the following <strong>new features</strong>: 
<ul>
<li>Automatic minify/uglify when compiling in release mode from the IDE
<li>Automatic JavaScript file versioning
<li>Easy UI for HTML element binding at design-time
<li>Visual form inheritance support
<li>Frames support
<li>Design-time editors for HTML template properties
<li>Firestore support via TWebFirestoreClientDataSet
<li>myCloudData.net support via TWebmyCloudDBClientDataset
<li>SQLRestDBBridge support via TWebSQLRestClientDataset
<li>Push notifications via TWebPushnotifications component
<li>Web crypto API wrapper classes
<li>Regular expression API wrapper class TRegEx
<li>Local file access via TWebFilePicker, TWebFileUpload
<li>TWebLookupComboBox, TWebDBLookupComboBox
<li>Redesigned TWebMainMenu
<li>New features for TWebGoogleMaps
<li>New TWebImageZoomControl
<li>Support for selecting the Electron version
<li>Component attribute for JS & CSS lib dependencies
<li>Update to latest pas2js compiler and pas2js RTL
<li>Redesigned TWebMainMenu with responsive behavior / hamburger menu design for smart phone browsers
</ul>
<br>
Version v1.3 has so many new features & improvements!
<br>
More details about the new features can be found on the following 2 blogs: <a href="https://www.tmssoftware.com/site/blog.asp?post=601">part 1</a> and <a href="https://www.tmssoftware.com/site/blog.asp?post=603">part 2</a>.
<br><br>

<h2>Get started:</h2>
As mentioned previously, this version is available for TMS ALL-ACCESS users, TMS WEB Core registered users and TMS WEB Core trial users!
<br><br>
For <strong>TMS ALL-ACCESS users</strong>, simply use the TMS Subscription Manager and from there, you can download and install TMS WEB Core v1.3 Ferrara. 
<br><br>
The v1.3 full version for <strong>registered users</strong>, can be download after login on our website under "Account / My Products / TMS WEB Core".
<br><br>
For <strong>trial users</strong>, the v1.3 trial can be downloaded from:
<a href="https://www.tmssoftware.com/site/tmswebcoreintro.asp">https://www.tmssoftware.com/site/tmswebcore.asp</a>

<br><br>
<strong>Note: first manually uninstall previous version!</strong>
<br><br>


<h3>More information:</h3>
There is so much to tell about TMS WEB Core, so we kindly invite you to visit our landing page: <a href="http://web.tmssoftware.com">http://web.tmssoftware.com</a> where more information is provided, including online demos, video tutorials and more.
<br><br>
We&#39;re sure you&#39;ll be excited to get started exploring these new features. Our team has been long & hard at work on this. Explore TMS WEB Core v1.3 Ferrara and share your experiences and your comments with us.<br><br></P>]]></description>
	</item>
	<item>
		<title><![CDATA[macOS & Android 64 bit compile-ready support (update)]]></title>
		<link>https://www.tmssoftware.com/site/blog.asp?post=607</link>
		<author>Pieter Scheldeman</author>
		<pubDate>Mon, 2 Dec 2019 12:00:00 +0000</pubDate>
		<description><![CDATA[<P>A while ago, we&#39;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:
<br/>
<br/>
<a href="https://www.tmssoftware.com/site/blog.asp?post=571">https://www.tmssoftware.com/site/blog.asp?post=571</a><br><br></P>]]></description>
	</item>
	<item>
		<title><![CDATA[My first TMS Training Days]]></title>
		<link>https://www.tmssoftware.com/site/blog.asp?post=606</link>
		<author>Gjalt Vanhouwaert</author>
		<pubDate>Mon, 2 Dec 2019 12:00:00 +0000</pubDate>
		<description><![CDATA[<P>Now that all the releases are out, I can finally tell you about how I have experienced the TMS Training Days in D&#252;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.
<br><br>
Before I start, I would like to thank all my colleagues for giving me a warm welcome and making me feel like I&#146;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&#146;t that hard as the attending customers were also very kind to me.
<br>
<a href="https://www.tmssoftware.com/site/img/blog/TMSDays2019Blog1.jpg"><img src="https://www.tmssoftware.com/site/img/blog/TMSDays2019Blog1.jpg" width="30%"></a>
<br>
<br>
<h3>TMS Business Masterclass</h3>
<a href="https://www.tmssoftware.com/site/img/blog/TMSDays2019Blog2.jpg"><img src="https://www.tmssoftware.com/site/img/blog/TMSDays2019Blog2.jpg" align="right" width="35%"></a>
<br>
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: <a href="https://tmssoftware.com/site/blog.asp?post=573">&#145;Introducing Delphi ORM: Object Relational Mapping Using TMS Aurelius&#146;</a>. 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.
<br>
<br>
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. 
<br>
<br>
<h3>TMS Dev Intensive</h3>
The second day was TMS dev Intensive. After a night of dreaming about the <a href="https://tmssoftware.com/site/products.asp?t=dt">TMS Business Tools</a>, 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 <a href="https://tmssoftware.com/site/blog.asp?post=605">TMS VCL UI Pack</a>. 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.
<br><br>
Ever wondered how to sign PDF files in a secure way? Marion shows us how easily this can be done with the <a href="https://tmssoftware.com/site/tmscrypto.asp">TMS Cryptography Pack</a>. In just a small set of commands we can ensure that the PDF file is from the author and hasn&#146;t been tampered with.
<br><br>
After a small coffee break, I was amazed by Adrian&#146;s session on <a href="https://tmssoftware.com/site/blog.asp?post=574">TMS Flexcel 7.0</a>. It&#146;s hard to comprehend what is possible with this product, actually everything is possible with regard to Excel. His demos showed demonstrated that perfectly.
<br><br>
Then it was time for the marvelous revelation, which I assume you already heard a lot about since then. But we revealed <a href="https://tmssoftware.com/site/blog.asp?post=599">TMS WEB Core for Visual Studio Code</a> 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&#233; 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.
<br><br>
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 <a href="https://tmssoftware.com/site/blog.asp?post=604">TMS FixInsight</a>, 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.
<br><br>
One session on <a href="https://tmssoftware.com/site/tmswebcore.asp">TMS WEB Core</a> wasn&#146;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 <a href="https://tmssoftware.com/site/blog.asp?post=601">one blog post</a>. (A <a href="https://tmssoftware.com/site/blog.asp?post=603">second</a> was needed.)
<br><br>
Last but not least, we&#146;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.
<br><br>
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&#146;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.
<br><br>
If you are wondering if you should come the next time. Don&#146;t hesitate!
<br>
And maybe I will be the one answering your questions next year. 
<br>
<a href="https://www.tmssoftware.com/site/img/blog/TMSDays2019Blog3.jpg"><img src="https://www.tmssoftware.com/site/img/blog/TMSDays2019Blog3.jpg" width="100%"></a>
<br><br></P>]]></description>
	</item>
	<item>
		<title><![CDATA[TMS VCL UI Pack v10.1 with Office 2019 style and SVG support]]></title>
		<link>https://www.tmssoftware.com/site/blog.asp?post=605</link>
		<author>Gjalt Vanhouwaert</author>
		<pubDate>Thu, 28 Nov 2019 12:00:00 +0000</pubDate>
		<description><![CDATA[<P>Since the release of <a href="https://www.tmssoftware.com/site/tmsvcluipack.asp">TMS VCL UI Pack</a> 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. 
<br><br>
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. 
<br><br>
<h3>Office 2019 style</h3>
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, &#133). 
<br><br>
<a href="https://tmssoftware.com/site/img/Office2019.gif">
<img src="https://tmssoftware.com/site/img/Office2019.gif" width="100%">
</a>
<br><br>
Compared to Office 2016, Microsoft did subtle color changes in the 3 Office color variants: white, gray and black.<br>
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.<br>
If you had used the <b>TAdvFormStyler</b>, <b>TAdvAppStyler</b>, 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.<br>
<br>
<h3>SVG support</h3>
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.<br>
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&#133;  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.
<br><br>
<a href="http://www.tmssoftware.com/site/img/SVG_FNC.png">
<img src="http://www.tmssoftware.com/site/img/SVG_FNC.png" width="50%"/>
</a>
<br>
<i>Difference between PNG & SVG rendering on a high DPI monitor</i>
<br><br>
<h4>New TAdvSVGImageCollection</h4>
<br>
For <strong>Delphi 10.3 Rio</strong> users, our new <b>TAdvSVGImageCollection</b> 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.
<br><br>
<a href="https://www.tmssoftware.com/site/img/TImageCollection.png">
<img src="https://www.tmssoftware.com/site/img/TImageCollection.png" width="40%">
</a>
<br>
<i>Previously you had to fill the ImageCollection with many variants of image sizes for every application icon</i><br><br>
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.
<br><br>
<a href="https://www.tmssoftware.com/site/img/TAdvSVGImageCollection.png">
<img src="https://www.tmssoftware.com/site/img/TAdvSVGImageCollection.png" width="40%">
</a>
<br>
<i>TVirtualImagelist rendering 4 different variations coming from a single SVG icon resource in the TAdvSVGImageCollection</i>
<br><br>
The full list of new features can be found <a href="https://www.tmssoftware.com/site/tmsvcluipack.asp?s=history">here</a>. 
<br><br>
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 &#147;Account / My Products&#148;
<br><br>
These are exciting times for VCL Windows application developers. We are eager to learn what you look forward to next!<br><br></P>]]></description>
	</item>
	<item>
		<title><![CDATA[TMS FixInsight 2019.11]]></title>
		<link>https://www.tmssoftware.com/site/blog.asp?post=604</link>
		<author>Roman Yankovsky</author>
		<pubDate>Thu, 28 Nov 2019 12:00:00 +0000</pubDate>
		<description><![CDATA[<P>I&#39;m happy to announce FixInsight 2019.11 release<br>
<br>
<strong>What&#39;s New</strong><br>
<br>
* New : Rule W531 Actual parameter of FreeAndNil() must be a reference to class instance<br>
* New : Rule W534 Class instance passed but interface expected<br>
* Fixed : FixInsight hangs in some cases when running W525<br>
* Fixed : File specified in {$INCLUDE} directive cannot be found in some cases<br>
* Fixed : Access Violation on IDE start<br>
* Fixed : "Load Defaults" button in Settings dialog doesn&#39;t restore general settings<br>
* Fixed : Several parser issues<br>
<br>
I&#39;ll add few more words about new features.<br><br>

<strong>Rule W531</strong> 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. <br>
<br>
This compiles, but this is wrong:
<pre name=code class=delphi>
  var
    Intf: IInterface;
  begin
    FreeAndNil(Intf);
  end;
</pre>
<br>

<strong>Rule W534</strong> 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.<br>
<br>
Example:
<pre name=code class=delphi>

type
  ISomeInterface = interface
  [&#39;{AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}&#39;]
  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;
</pre>

Also there are new parameters for <strong>command line tool</strong>. In this release FixInsight needs to know more about your project. 
<blockquote>
    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</blockquote>
--libpath should point to your Delphi source folder. And I suggest to copy values for --unitscopes and --unitaliases parameters from your project options.<br><br></P>]]></description>
	</item>
	<item>
		<title><![CDATA[TMS WEB Core v1.3 features part 2 of 2]]></title>
		<link>https://www.tmssoftware.com/site/blog.asp?post=603</link>
		<author>Bruno Fierens</author>
		<pubDate>Wed, 27 Nov 2019 12:00:00 +0000</pubDate>
		<description><![CDATA[<P>A couple of days ago, we wrote a first blog article about the new features coming in <a href="tmswebcore.asp">TMS WEB Core v1.3</a>. 
If you were not already stunned by the first 10 new features presented for TMS WEB Core v1.3 Ferrara, here are <strong>10 more</strong> new features:
<br><br>
<strong>1) Web crypto API wrapper classes</strong>
<br><br>
The <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API" target="_blank">web crypto API</a> 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.
<ul>
<li>TAESEncryption
<li>TRSAEncryption
<li>TRSASignature
<li>THMACSignature
</ul>
<br><br>
<strong>2) Regular expression API wrapper class TRegEx</strong>
<br><br>
<img src="https://www.tmssoftware.com/images/twc13_13.png"><br>
Browsers did have <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions" target="_blank">regular expression handling</a> 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. 
<br><br>
<strong>3) Local file access via TWebFilePicker, TWebFileUpload</strong>
<br><br>
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.
<br><br>
<strong>4) TWebLookupComboBox, TWebDBLookupComboBox</strong>
<br><br>
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.
<br><br>
<strong>5) Redesigned TWebMainMenu</strong>
<br><br>
<img src="https://www.tmssoftware.com/images/twc13_14.png"><br>
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 <a href="https://www.jqwidgets.com/" target="_blank">jqWidgets</a> 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.
<br><br>
<strong>6) New features for TWebGoogleMaps</strong>
<br><br>
<img src="https://www.tmssoftware.com/images/twc13_15.png"><br>
A lot of Google Maps functionality that was already available in our <a href="webgmaps.asp">VCL TWebGMaps</a> 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.
<br><br>
<strong>7) New TWebImageZoomControl</strong>
<br><br>
<img src="https://www.tmssoftware.com/images/twc13_16.png"><br>
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.
<br><br>
<strong>8) Support for selecting the Electron version</strong>
<br><br>
<img src="https://www.tmssoftware.com/images/twc13_17.png"><br>
With frequent new releases of the <a href="https://electronjs.org/" target="_blank">Electron framework</a> 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).
<br><br>
<strong>9) Component attribute for JS & CSS lib dependencies</strong>
<br><br>
<pre name=code class=delphi>
[JSLibReferenceAttribute(&#145;https://somecdn/mylib.js&#146;)]
TMyDependentComponent = class(TCustomControl);
</pre>
<br>
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.
<br><br>
<strong>10) Update to latest pas2js compiler and pas2js RTL</strong>
<br><br>
We have included the latest <a href="https://wiki.freepascal.org/pas2js" target="_blank">pas2js compiler</a> 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.
<br><br>
Our team is working hard doing the last finishing touches on the v1.3 release which is around the corner. Active <a href="tmswebcore.asp">TMS WEB Core</a> users and <a href="tmsallaccess.asp">TMS ALL-ACCESS</a> users will get a notification shortly that the new version is available from the account page on our website.<br><br></P>]]></description>
	</item>
	<item>
		<title><![CDATA[High DPI stress relief with SVG in TMS FNC Core 2.0 and TMS FNC UI Pack 3.0!]]></title>
		<link>https://www.tmssoftware.com/site/blog.asp?post=602</link>
		<author>Pieter Scheldeman</author>
		<pubDate>Tue, 26 Nov 2019 12:00:00 +0000</pubDate>
		<description><![CDATA[<P><h4>Intro</h4>
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.
<br/>
<br/>
<h4>Images in high DPI</h4>
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, <a href="http://www.tmssoftware.com/site/tmsfnccore.asp">TMS FNC Core</a> 2.0 comes with a solution to limit both time and resources: SVG.
<br/>
<br/>
<h4>SVG</h4>
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 <a href="http://www.tmssoftware.com/site/tmsfnccore.asp">TMS FNC Core</a> 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.
<br/>
<br/>
<h4><a href="http://www.tmssoftware.com/site/tmsfnccore.asp">TMS FNC Core</a> 2.0 with first release of SVG support</h4> 
<a href="http://www.tmssoftware.com/site/tmsfnccore.asp">TMS FNC Core</a> 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:
<br/>
<ul>
<li>SVG supported elements
<ul>
<li>circle
<li>clipPath
<li>defs (limited to predefined style, no gradients, no paths, only single fill/stroke parameters)
<li>ellipse
<li>g
<li>image (limited to base64 encoded string value)
<li>line
<li>path
<li>pattern (no gradients, no paths, only single fill/stroke parameters)
<li>polygon
<li>polyline
<li>rect
<li>style
</ul>
<li>Within the style element supported parameters are
<ul>
<li>fill (no gradients)
<li>stroke (no gradients)
<li>stroke-width
<li>opacity
</ul>
<li>Within the primitives (line, polygon, polyline, rect, path) supported parameters are
<ul>
<li>fill (no gradients)
<li>stroke (no gradients)
<li>stroke-width
<li>transform (scale, rotate, translate, matrix)
</ul>
</ul>
<br/>
<a href="http://www.tmssoftware.com/site/tmsfnccore.asp">TMS FNC Core</a> 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.
<br/>
<br/>
<b>FMX</b>
<br/>
<img src="http://www.tmssoftware.com/site/img/SVG_FNC_2.png"/>
<br/>
<br/>
<b>VCL, LCL</b>
<br/>
<img src="http://www.tmssoftware.com/site/img/SVG_FNC_3.png"/>
<br/>
<br/>
<h4>WEB Support</h4>
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.
<br/>
<br/>
<h4>SVG based image collection in TVirtualImageList (Rio and newer)</h4>
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 <a href="http://www.tmssoftware.com/site/tmsfnccore.asp">TMS FNC Core</a> 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.
<br/>
<br/>
<h4><a href="http://www.tmssoftware.com/site/tmsfncuipack.asp">TMS FNC UI Pack</a> 3.0</h4>
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:
<br/>
<br/>
<ul>
<li>TTMSFNCTrackBar
<li>TTMSFNCRangeSlider
<li>TTMSFNCSpinEdit
<li>TTMSFNCComboBox
<li>TTMSFNCSwitch
<li>TTMSFNCLabelEdit
</ul>
<br/>
<h4>Get started!</h4>
Get started and implement SVG in your application, and/or explore the new set of smaller components by downloading the latest version of <a href="http://www.tmssoftware.com/site/tmsfnccore.asp">TMS FNC Core</a>. Please remember to also update <a href="http://www.tmssoftware.com/site/tmsfnccore.asp">TMS FNC Core</a> depending FNC products such as the <a href="http://www.tmssoftware.com/site/tmsfncuipack.asp">TMS FNC UI Pack</a>. 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.
<br/>
<br/>
SVG: Documentation
<br/>
<a href="http://www.tmssoftware.biz/download/manuals/TMSFNCSVGDevGuide.pdf">http://www.tmssoftware.biz/download/manuals/TMSFNCSVGDevGuide.pdf</a>
<br/>
<br/>
SVG: Using the Bitmap Container component
<br/>
<a href="https://www.youtube.com/watch?v=ZyvJcCIqh7o">https://www.youtube.com/watch?v=ZyvJcCIqh7o</a>
<br><br>
<iframe width="560" height="315" src="https://www.youtube.com/embed/ZyvJcCIqh7o" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<br/>
<br/>
SVG: Using vectors with a Bitmap Selector
<br/>
<a href="https://www.youtube.com/watch?v=9OS0RT4SAyc">https://www.youtube.com/watch?v=9OS0RT4SAyc</a>
<br><br>
<iframe width="560" height="315" src="https://www.youtube.com/embed/9OS0RT4SAyc" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<br/>
<br/>
SVG: Using vectors as icons in a listbox
<br/>
<a href="https://www.youtube.com/watch?v=XKu6ifCyo7Y">https://www.youtube.com/watch?v=XKu6ifCyo7Y</a>
<br><br>
<iframe width="560" height="315" src="https://www.youtube.com/embed/XKu6ifCyo7Y" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<br/>
<br/>
<img src="http://www.tmssoftware.com/site/img/SVG_FNC.png"/><br><br></P>]]></description>
	</item>
	</channel></rss>
