<?xml version="1.0" encoding="UTF-8"?><rss version="2.0">	<channel>	<title>TMS Software</title>	<link>http://www.tmssoftware.com</link>	<language>en</language>	<pubDate>Mon, 30 Jan 2012 02:39:00 +0100</pubDate>	<docs>http://blogs.law.harvard.edu/tech/rss</docs>	<ttl>1440</ttl>	<generator>TMS Software</generator>	<image>		<url>http://www.tmssoftware.com/site/img/tmslogo.png</url>		<title>TMS Software</title>		<link>http://www.tmssoftware.com</link>	</image>
	<item>
		<title><![CDATA[TMS Aurelius Roadmap]]></title>
		<link>http://www.tmssoftware.com/site/blog.asp?post=224</link>
		<author>Wagner Landgraf</author>
		<pubDate>Fri, 27 Jan 2012 12:00:00 +0000</pubDate>
		<description><![CDATA[<P>TMS Aurelius has been released and we are very satisfied with feedback from all of you. Most comments are compliments and questions about how to use the existing many features, but some of them are also feature requests.
<br><br>
So the intention of this post is to give you an idea of what&quot;s coming next with TMS Aurelius and TMS Data Modeler, based on customers feedback. 
 <br><br>
Please note that this list is <strong>subject to change</strong>, especially due to further customer feedback, and is not a <strong>commitment</strong> of any kind - we have the freedom to refrain from implementing any of these features - this is just the current intention for further development.
<br><br>
Features being considered to be implemented until 2.0 version:<br>
- TObjectDataset component for visual binding objects to data-aware controls<br>
- Support for more databases<br>
- Support for more data-access components - IBObjects will be the next one to be supported<br>
- Custom SQL expressions and projections<br>
- More generator types - GUID should be the next one<br>
- Other minor fixes and of course bug fixes<br>
- More events and/or interceptors <br>
<br>
Other features that are being considered (depending on feedback and demand):<br>
- Dynamic properties<br>
- Mapping through external file<br>
- Database schema update (simple and limited)<br>
- Query Language - use of query commands as alternative to query API<br>
<br>
TMS Data Modeler will be improved as well, with support for more databases and constant improvements in user interface. And, of course, tighter integration with TMS Aurelius - improved class generation and constant support for new Aurelius features.<br><br></P>]]></description>
	</item>
	<item>
		<title><![CDATA[A week in the TMS labs day 5: TMS WebGMaps]]></title>
		<link>http://www.tmssoftware.com/site/blog.asp?post=221</link>
		<author>Nancy Lescouhier</author>
		<pubDate>Fri, 23 Dec 2011 12:00:00 +0000</pubDate>
		<description><![CDATA[<P>On the last day of the week in the TMS labs, we present a video on a new
component that we&#39;re about to release: TMS WebGMaps. This component allows
to show Google maps and interact with Google maps in Windows applications.
Fine level of control is offered to configure the type of the map, the
controls on the map, add markers, show StreetView etc&#8230;  The TWebGMaps
exposes a number of events ranging from simple mouse clicks to moving
markers, changing zoom level and many more. You can find the video on our
more informal <a href="http://www.facebook.com/tmssoftware">Facebook
information channel</a> and in the process, you can add this group to your
favorites. 
<br><br></P>]]></description>
	</item>
	<item>
		<title><![CDATA[A week in the TMS labs day 4: TMS IntraWeb iPhone Controls]]></title>
		<link>http://www.tmssoftware.com/site/blog.asp?post=220</link>
		<author>Nancy Lescouhier</author>
		<pubDate>Thu, 22 Dec 2011 12:00:00 +0000</pubDate>
		<description><![CDATA[<P>Applications for mobile devices are  the fastest growing category of apps and the IntraWeb framework offers some unique advantages here, allowing to create applications without deployment headaches, multiplatform support (iOS, Android, RIM) and without the need to pass the gate & tax of Apple, Google or Blackberry. For mobile web application development,we have created <a href=" http://www.tmssoftware.com/site/tmsiwiphone.asp">TMS IntraWeb iPhone Controls</a> that  allow to create web applications with a look & feel that is nearly identical to native applications and that are very response and have low bandwidth usage via asynchronous events and updates.
You can find the video on our more informal <a href="http://www.facebook.com/tmssoftware" target="_blank">Facebook information channel</a> and in the process, you can add this group to your favorites.
<br><br></P>]]></description>
	</item>
	<item>
		<title><![CDATA[A week in the TMS labs day 3: TMS Instrumentation Workshop for FireMonkey]]></title>
		<link>http://www.tmssoftware.com/site/blog.asp?post=219</link>
		<author>Nancy Lescouhier</author>
		<pubDate>Wed, 21 Dec 2011 12:00:00 +0000</pubDate>
		<description><![CDATA[<P>Last week we proudly released our first set of controls for FireMonkey. In
this video, you can see the <a
href="http://www.tmssoftware.com/site/tmsfmxiw.asp"> TMS Instrumentation
Workshop for FireMonkey</a> in action.
We show you the components in use in a FireMonkey HD application running on
Windows 7 and the same application also deployed and running on Mac OS-X
Lion. Finally, in the video we also turn the same application into a
FireMonkey for iOS app and deploy it with xCode to the iPad. You can find
the video on our more informal <a href="http://www.facebook.com/tmssoftware"
target="_blank">Facebook information channel</a> and in the process, you can
add this group to your favorites.
<br><br></P>]]></description>
	</item>
	<item>
		<title><![CDATA[A week in the TMS labs day 2: TMS IntraWeb HTML5 Controls]]></title>
		<link>http://www.tmssoftware.com/site/blog.asp?post=218</link>
		<author>Bruno Fierens</author>
		<pubDate>Tue, 20 Dec 2011 12:00:00 +0000</pubDate>
		<description><![CDATA[<P>On day two of the week in the TMS labs, we present a deeper look at the capabilities of the recently developed <a href="http://http://www.tmssoftware.com/site/iwhtml5controls.asp">TMS IntraWeb HTML5 Controls Pack</a>. The video shows how you can take advantages of the new cool features of HTML5 in your IntraWeb applications for desktop and mobile browsers. You can see the HTML5 based charts in action with ultrafast asynchronous updates, the fully client side rendered gauges and the pie charts with client-side animations. You can find the video on our more informal <a href="http://www.facebook.com/tmssoftware" target="_blank">Facebook information channel</a> and in the process, you can add this group to your favorites.<br><br></P>]]></description>
	</item>
	<item>
		<title><![CDATA[A week in the TMS labs day 1: TMS MultiTouch SDK]]></title>
		<link>http://www.tmssoftware.com/site/blog.asp?post=217</link>
		<author>Bruno Fierens</author>
		<pubDate>Mon, 19 Dec 2011 12:00:00 +0000</pubDate>
		<description><![CDATA[<P>This week, we present a new video every day of this week about the latest technologies we have been working on here. Today is the first day with a video about the <a href="http://www.tmssoftware.com/site/multitouchsdk.asp">TMS MultiTouch SDK</a> and TMS SmoothTable hardware. Static screenshots really don&quot;t do much honour to the multitouch handling and animation that is offered in the TMS MultiTouch SDK, but now you can watch it in full action in this video. You can find the video on our more informal <a href="http://www.facebook.com/tmssoftware">Facebook information channel</a> and in the process, you can add this group to your favorites.<br><br></P>]]></description>
	</item>
	<item>
		<title><![CDATA[Delivered: our first set of FireMonkey components]]></title>
		<link>http://www.tmssoftware.com/site/blog.asp?post=216</link>
		<author>Bruno Fierens</author>
		<pubDate>Thu, 15 Dec 2011 12:00:00 +0000</pubDate>
		<description><![CDATA[<P>It&quot;s with much excitement that we release today our first set of controls for the FireMonkey framework: <br>
TMS Instrumentation Workshop for FireMonkey.<br>
<br>
<strong>What is it?</strong><br>
A more or less equivalent set of controls, TMS Instrumentation Workshop for VCL has existed for years but the new TMS Instrumentation Workshop for FireMonkey has been designed from the ground-up. The components have been entirely designed in the spirit of the FireMonkey framework, meaning, extensive use of styles has been made where applicable. Use of styles not only means that you can customize the colors, gradients, textures, strokes of the controls at a very detailed level, it also means that the layout, elements within controls can be changed. The end result is ultra customizable controls. At the same time, we have tried to make the default look and feel of the components ready to use. In other words, the ultra customizability comes as an option but it&quot;s not needed to make use of the components. In this respect, the components offer the same "R for rapid" as VCL offers RAD.<br>
<br>
<strong>Cross-platform</strong><br>
Of course the TMS Instrumentation Workshop for FireMonkey is fully ready for cross-platform development. Applications can be built with the controls for Win32, Win64, Mac OS-X and iOS! We provide a package "TMS Instrumentation Workshop for FireMonkey HD" and a package "TMS Instrumentation Workshop for FireMonkey iOS" that gives you access to the controls in FireMonkey HD, FireMonkey 3D and FireMonkey iOS project types. TMS Instrumentation Workshop for FireMonkey Sources can be deployed to compile with xCode/FPC to iPhone, iPad, iPod.<br>
<br>
<strong>And now?</strong><br>
We&quot;re extremely curious to see how the controls will be used. We look forward to all your feedback, comments and requests for new features, new capabilities, new components within the TMS Instrumentation Workshop for FireMonkey control set. We&quot;re meanwhile also already exploring other components for FireMonkey. The TMS Instrumentation Workshop for FireMonkey control set was for us also a necessary first step to lay a solid foundation for component design for this new framework. The medium complexity of these controls was an ideal way to familiarize with an entirely new way for creating components. It was crucial for us to design the components to really fit in the FireMonkey framework, i.e. make extensive use of styles. We believe that in the long term, no one will benefit from quick ports of VCL components that do not fit in the design philosophy of FireMonkey. After the past months of learning a lot of new things, fighting with the initial quirks of this brand new framework and working very hard, we believe we now have a more solid foundation and are ready to tackle the next challenges. As the interest in these components and the market will justify, we&quot;ll build  up a wider range of components for the FireMonkey framework.<br>
<br>
<strong>VCL vs FireMonkey?</strong><br>
VCL has a history of over 15 years now. It is an extremely rich framework for Windows application development with a huge array of components that have over all these years become rock-solid and very feature-rich. By its nature, the VCL framework will always optimally and closely integrate with Windows. The VCL framework is perfectly suited to create first-class Windows applications. By using the native Windows controls in the VCL combined with custom controls, it is possible to create Windows applications that consistently and perfectly integrate in the overall look & feel and way the Windows operating system works and access the Windows operating system resources in every possible way.<br>
On the other side, FireMonkey offers exciting new capabilities like 3D, cross-platform deployment, styling. With the design choices that have been made in the FireMonkey framework, comes the disadvantage that it is not using native operating system controls. This will in the best scenario always mean chasing a moving target to make applications that have a user interface that is 100% consistent in appearance and behavior with the operating system. Certainly, the advantages FireMonkey brings will in several scenarios justify living with its disadvantages.<br>
<br>
<strong>A "+" story</strong><br>
It&quot;s always funny that many software developers always like to flipflop between life and death. That HTML5 is very much alive today means for many developers that native applications or even Silverlight are dead. If you look back, there was a time that when .NET was freshly released, many developers claimed that native application development was dead. We believe that in life things are not black or white, there are colors! Blues, greens, reds, a big palette to choose from. We see the VCL versus FireMonkey not as a life or death situation but rather a "+" situation. As Delphi developers, we&quot;re now fortunate enough to have one more option to choose from today. We can choose VCL to create the best possible fast native Win32 and Win64 applications, we can choose IntraWeb to create web applications in a RAD way, we can choose FireMonkey to create applications for iOS with our beloved language or cross-platform applications for Windows and Mac. We have never had more choices as Delphi developers and then, even more choices are on the way! VCL remains as ever, a very important choice for Windows application development and we&quot;re feverishly continuing to work on new offerings for VCL and extend and improve existing VCL components. IntraWeb remains a very productive way to create web applications for desktop and mobile browsers and we&quot;re working very hard to offer components that allow you to take advantage of HTML5, mobile browsers, ultrafast asynchronous updates  etc..  And now there is the new kid on the block called FireMonkey that allows us to go Apple and we&quot;re also trying to offer added-value for Delphi developers in this area. It is in other words a VCL + IntraWeb + FireMonkey story. Let&quot;s work together to make the sum of this 1 + 1 + 1 story more than 3!
<br><br></P>]]></description>
	</item>
	<item>
		<title><![CDATA[TMS free Delphi plugins support XE2 now]]></title>
		<link>http://www.tmssoftware.com/site/blog.asp?post=215</link>
		<author>Bruno Fierens</author>
		<pubDate>Wed, 14 Dec 2011 12:00:00 +0000</pubDate>
		<description><![CDATA[<P>We have released today an update for all our free Delphi IDE plugins that adds support now for Delphi XE2.<br>
<br>
Overview:<br>
<br>
<ul>
<li>
<a href="http://www.tmssoftware.com/site/tmspresentation.asp">TMS Presentation Helper & Clipboard monitor</a><br>
IDE plugin to monitor clipboard, track clipboard history and to save & load code snippets for giving presentations with Delphi</li>
<li>
<a href="http://www.tmssoftware.com/site/tmsiderichclip.asp">TMS IDE Rich Clip</a><br>
IDE plugin to copy source code with syntax highlighting to the clipboard</li>
<li>
<a href="http://www.tmssoftware.com/site/tmsprojectmanager.asp">TMS Project Manager</a><br>
IDE plugin to easily ZIP and upload projects</li>
<li>
<a href="http://www.tmssoftware.com/site/tmswhatsnew.asp">TMS What&quot;s New IDE Plugin</a><br>
Delphi IDE plugin to keep current with the latest releases, blogs & tweets from TMS software</li>
<br>
Enjoy these free IDE plugins. Looking forward to hear your feedback & ideas for enhancements or new plugins!
<br><br></P>]]></description>
	</item>
	<item>
		<title><![CDATA[Pre-announcing FlexCel 5 for VCL and FireMonkey]]></title>
		<link>http://www.tmssoftware.com/site/blog.asp?post=214</link>
		<author>Adrian Gallero</author>
		<pubDate>Tue, 13 Dec 2011 12:00:00 +0000</pubDate>
		<description><![CDATA[<P>This isn&quot;t a particularly easy to write post. There are so many things to say, many good news, some bad ones, that it gets hard to decide where to start.
<br /><br />
So let&quot;s try to start from what you should already know from the title: FlexCel 5 for VCL and FireMonkey is coming, bringing full feature parity with FlexCel .NET (and this includes things like xlsx/m support, exporting to pdf, exporting to html, full recalculation, new reporting engine, and so many other things that I can&quot;t just mention them all). Also, <b>we are making available a public preview of the core engine today to all our registered users</b>. You can get it from the registered users page.
<br/><br />
<h3>The not so good news</h3>
On the not-so-nice side, I have two things to mention:
<br/><br/>
<ul>
<li> <b>FlexCel 5 will need Delphi XE or newer.</b> This was a very difficult decision, as we know a lot of you people are still in Delphi 7. We have our download stats that give us a nice outlook on how many people is in each version, and while Delphi 7 is certainly going down, it still is big. 
<br/><br />
But we really had no choice. As you might know, FlexCel 5 for VCL is based in FlexCel for .NET codebase, and the .NET codebase makes heavy use of things like  generics, class variables, records with methods, nullable types, hashtables, class constructors, and let&quot;s not forget real Unicode support and Unicode conversion functions. There are also many bugs that have been fixed in newer versions, and that would have to be workarounded to support older versions. 
<br/><br />
In our first tries at creating FlexCel for VCL we tried to workaround all of those somehow: A record with a method can be converted to a helper function on that record, a generic type can be auto generated with a tool. We could search for unicode support methods somewhere, or write our own. But well, somewhere along the way we realized that we will never be able to get this working at all if we had to first code our own Delphi XE on top of Delphi 7 in order to code FlexCel on top of that. FlexCel on its own is over half million lines of code, getting that to work was enough work. 
<br/><br />
We needed the Delphi 2009 feature list at least. Problem is, generics support in D2009 and 2010 is so buggy, that it gets impossible to compile FlexCel with them. XE and XE2 aren&quot;t perfect either, but the bugs are not too serious and can be workarounded.  
<br/><br />
But also we are trying to look a little into the future. Embarcadero is releasing about a version per year, and that means in some months we will be seeing XE3, and a year after XE4, and soon we will be supporting also a lot of versions in FlexCel 5. We need to test, profile, workaround bugs in every version that we support, and at the rate new Delphis keep coming, we can&quot;t keep forever supporting Delphi 5.
<br/><br />
What we do plan to do once we launch FlexCel 5 and if demand for older Delphi keeps strong, it is to provide a dll compiled with XE2 that can be used from any Delphi version, or any other programing tool. We understand it is not the best way, but it is better than deploying Excel, and we think it is a reasonable compromise.
<br/><br/>
</li>
<li><b>FlexCel 5 is not 100% compatible with FlexCel 3</b>. Personally I am a big fan of backwards compatibility, even if today it seems a little out of fashion and everybody seems to advocate killing it. As a FlexCel user myself, I don&quot;t appreciate having older apps breaking because of a change in FlexCel. But FlexCel for VCL was getting old, with many design decisions going back to its first version in 1996, and there will never be a better time to modernize it than now. I did learn a couple of things since 1996, or I want to believe I did. What things were confusing, too complex, or just could be done better.
<br><br> 
I did apply many of those things when creating FlexCel.NET (as I had no backwards compatibility to care about), and I am very happy on how it turned out. In fact, I liked it so much that this is what FlexCel for VCL will look like. On the API side it doesn&quot;t mean much, some methods renamed (for example "CellValue" property is now a pair of Get/SetCellValue methods, because indexed properties bring a lot of trouble for C++ Builder). But all in all it should be very simple to convert the code, as there isn&quot;t any change for the sake of change, and most things remain the same.  I have myself converted the examples with minimal work. On the report side changes are more complex, and even when I plan to ship a semi automatic converter, things don&quot;t map that well. But I really believe it is worth it, the new reporting engine is just so much better.
<br><br>
On the bright side, we will be shipping a TXLSXAdapter that you can use with FlexCel 3 components, and that uses FlexCel 5 inside, and so it provides xlsx and xls support for FlexCel 3. You will be able to keep using the old FlexCel 3 in parallel with FlexCel 5, and convert the complex reports as you need.
<br><br>
</li>
</ul>
<h3>The good news</h3>
Ok, so with the bad things out of the way, what is good? After all I wrote on the bad side, I am kind of ashamed that all the good news can be sumarized in 3 words: "<b>FlexCel 5 Rocks</b>". I have mentioned that I can&quot;t really enumerate all new things coming in the space of a blog, but if you are really interested, You can look at <a href="http://www.tmssoftware.com/site/upload/flexcelnetwhatsnew.htm"> what&quot;s new for FlexCel VCL since V3 </a>. Not everything applies to Delphi, but most of it does.
 And both not-so-good items in the other section also have their upside. As we broke some of the backward compatibility, we get a nicer foundation to build on in the following years. And as we don&quot;t support old Delphi versions, code is much cleaner and nicer. We have things like a "TCellValue" record that can be automatically converted to and from strings, numbers, formulas, etc, working much better than the variants we had to use in FlexCel 3. We&quot;ve been able to inline a lot of code and optimize unicode strings in ways that wouldn&quot;t be possible if we had to support Delphi 5. 
<br/><br/>
But there is probably something even better than the fact that FlexCel 5 for VCL is good. And that is that <b>FlexCel VCL will be kept in synch with FlexCel.NET from now on.</b> Actually, it already is in synch, it has moved from 5.5 to 5.6 at the same time as FlexCel .NET did. It got chart preservation and xls 5 support at the same time as .NET did. It got all the same bug fixes the .NET version did. And all of this is because, as we realized that the biggest problem was not getting feature parity but maintaining it, we spend a lot of time writing automated tools to help us keep both codebases together. They are kind of fascinating (at least for me), and sometimes they seem to work as magic, and as you guessed I am going to write about them soon. Just not here, as this post already got too long. Remember though that of course FlexCel 5 for VCL is 100% Delphi source code that compiles to native executables! FlexCel 5 is also faster than FlexCel 3 in all the benchmarks we tried, and that is not saying little, since FlexCel 3 was quite fast.
<br/><br/>
<h3>What&quot;s in the preview</h3>
As the name says, this is a <b>PREVIEW</b>. Not even a beta. While the core engine is working, and you will be able to run the demos, code is nowhere near production yet, we have a very big list of known issues to fix before we can call it a beta. So please don&quot;t install it in any production machine, and <b>don&quot;t use it for any serious work</b>. This is not a "Google beta" that can be used anyway.
<br><br>
Also, for this release we are focusing on the API, so the report and rendering engines, even when included, are commented out and not working. We plan into getting the Core Engine working first, and soon the rest. Core engine is 400,000 of the 500,000 lines of code anyway, so a lot of work is done. 
<br><br>
We would love to hear feedback from you. But just don&quot;t send in bug reports yet, we are aware of most bugs, and just haven&quot;t got time to  fix them. Having thousands of reports in things we know they don&quot;t work yet will just delay us.
On the other hand, things you can report are issues with the installer or any performance issues (a file taking too much to load, for example). Those things should be working fine fine, and we will investigate any report about them right away.
<br><br>
<h3>Finally</h3>
I still can&quot;t give a final date for release, as while there is a lot of work done, there is work remaining. It is just a very big project, even if sometimes I forget how much, and there are thousands of things to take care of. But things are going very smoothly lately (much more so since we decided to drop old Delphi support), and an usable release is not far away. 
We will be updating this preview very often, I expect about once a week, until the final version arrives. In a couple of releases we should be having a beta, and some more releases after that the final version.
If you want to be informed as we release them, I will be mentioning them in Twitter: <a href="https://twitter.com/#!/adriangallero/">https://twitter.com/#!/adriangallero/</a>
<br /><br />
Ps: If you want to look at the files we are generating but don&quot;t feel like installing the preview, here are some examples:
<br />
<a href="http://www.tmssoftware.com/site/upload/started.xlsx">Simple xlsx file showing images, merged cells, formulas and formatting. (Created in OSX with FireMonkey)</a>
<br />
<a href="http://www.tmssoftware.com/site/upload/test5.xlsm">Xlsm file showing Macro and chart preservation, true colors, etc.</a>
<br />
<a href="http://www.tmssoftware.com/site/upload/test_NEW.xlsx">Xlsx file created with a very early version of AdvGridExcelIOPro.</a> This file corresponds to <a href="http://tmssoftware.com/site/asg46.asp">Example 46 of AdvStringGrid</a>. Note how html text is converted to rich formated text in Excel. Also, we manually added a checkbox from FlexCel, the final version should convert checkboxes automatically from the grid to Excel.<br><br></P>]]></description>
	</item>
	<item>
		<title><![CDATA[What is TMS Aurelius?]]></title>
		<link>http://www.tmssoftware.com/site/blog.asp?post=208</link>
		<author>Wagner Landgraf</author>
		<pubDate>Fri, 18 Nov 2011 12:00:00 +0000</pubDate>
		<description><![CDATA[<P>I&quot;ve been working with Delphi and databases for years already (actually I&quot;m this close to say "for "decades" - in plural). 
<br>
In database programming we all typically do the same: create SQL statements, execute it in the database and retrieve results back, using a TDataset descendant object which we use to iterate through data.
<br>
I guess that just like most of you who work regularly with databases, we&quot;ve all used or written at some point small, medium-size "frameworks" to make these tasks a little more simple. Functions that build the SQL statement automatically based on some parameters, client datasets that build update statements, data dictionaries, etc..  In the past months though, I have switched several large projects including projects of customers to a new framework, built from the ground up.
<br><br>
It&quot;s basically something that prevents you from writing code like this:

<pre name=code class=delphi>Query1.Sql.Text := &quot;SELECT I.ID AS INVOICE_ID, I.INVOICE_TYPE, I.INVOICE_NO, I.ISSUE_DATE, I.PRINT_DATE, &quot; +
  &quot;C.ID AS CUSTOMER_ID, C.CUSTOMER_NAME, C.SEX, C.BIRTHDAY, N.ID AS COUNTRY_ID, N.COUNTRY_NAME&quot; +
  &quot;FROM INVOICE AS I INNER JOIN CUSTOMER AS C ON (C.ID = I.CUSTOMER_ID) &quot; +
  &quot;LEFT JOIN COUNTRY AS N ON (N.ID = C.COUNTRY_ID)&quot; +
  &quot;WHERE I.ID = :INVOICE_ID;&quot;
Query1.ParamByName(&quot;INVOICE_ID&quot;).AsInteger := 1;
Query1.Open;
ShowMessage(Format(&quot;Invoice No: %d, Customer: %s, Country: %s&quot;,
  [Query1.FieldByName(&quot;INVOICE_NO&quot;).AsInteger,
  Query1.FieldByName(&quot;CUSTOMER_NAME&quot;).AsString,
  Query1.FieldByName(&quot;COUNTRY_NAME&quot;).AsString]));  </pre>

and instead write this:

<pre name=code class=delphi>Invoice := Manager1.Find&lt;TInvoice&gt;(1);
ShowMessage(Format(&quot;Invoice No: %d, Customer: %s, Country: %s&quot;,
  [Invoice.InvoiceNo, Invoice.Customer.Name, Invoice.Customer.Country.Name]));</pre>

Yes, it&quot;s an ORM framework! Instead of dealing with SQL statements, deal with objects directly, hiding all SQL intricacies for you.
<br><br>
We made it a generally useful ORM framework. We added a lot of features. We added lot of documentation, examples and demos. We tested it heavily with several databases and data-access components. We will release it very soon. And it&quot;s from TMS Software.<br><br></P>]]></description>
	</item>
	</channel></rss>

