<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Unicode database support in Tiburon for Delphi and C++</title>
	<atom:link href="http://blogs.codegear.com/davidi/2008/07/15/38895/feed" rel="self" type="application/rss+xml" />
	<link>http://blogs.codegear.com/davidi/2008/07/15/38895</link>
	<description>David Intersimone (David I) CodeGear blog about programming, languages, history, and more.</description>
	<pubDate>Thu, 20 Nov 2008 12:07:13 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
		<item>
		<title>By: Eric Hufschmid</title>
		<link>http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10365</link>
		<dc:creator>Eric Hufschmid</dc:creator>
		<pubDate>Mon, 18 Aug 2008 16:27:20 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10365</guid>
		<description>I'm using CodeGear Version 11,  and it allows me to specify the OBJ files be put in a specified folder, but it doesn't put the TDS files in that same folder.

The reason this is annoying is because I backup my source code by copying the entire folder and its subfolders, and these gigantic TDS files are in those folders.

Could you make newer versions of the compiler put the TDS files in the same folder as the OBJ files? That way we can easily backup our source code without these temporary files wasting our time or space.</description>
		<content:encoded><![CDATA[<p>I&#8217;m using CodeGear Version 11,  and it allows me to specify the OBJ files be put in a specified folder, but it doesn&#8217;t put the TDS files in that same folder.</p>
<p>The reason this is annoying is because I backup my source code by copying the entire folder and its subfolders, and these gigantic TDS files are in those folders.</p>
<p>Could you make newer versions of the compiler put the TDS files in the same folder as the OBJ files? That way we can easily backup our source code without these temporary files wasting our time or space.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Hufschmid</title>
		<link>http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10364</link>
		<dc:creator>Eric Hufschmid</dc:creator>
		<pubDate>Mon, 18 Aug 2008 16:25:17 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10364</guid>
		<description>I'm using CodeGear Version 11,  and it allows me to specify the OBJ files be put in a specified folder, but it doesn't put the TDS files in that same folder.

The reason this is annoying is because I backup my source code by copying the entire folder and its subfolders, and these gigantic TDS files are in those folders.

Could you make newer versions of the compiler put the TDS files in the same folder as the OBJ files?</description>
		<content:encoded><![CDATA[<p>I&#8217;m using CodeGear Version 11,  and it allows me to specify the OBJ files be put in a specified folder, but it doesn&#8217;t put the TDS files in that same folder.</p>
<p>The reason this is annoying is because I backup my source code by copying the entire folder and its subfolders, and these gigantic TDS files are in those folders.</p>
<p>Could you make newer versions of the compiler put the TDS files in the same folder as the OBJ files?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sip from the Firehose : Delphi 2009 and C++Builder 2009 Live Webinars with David I starting tomorrow, August 13</title>
		<link>http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10346</link>
		<dc:creator>Sip from the Firehose : Delphi 2009 and C++Builder 2009 Live Webinars with David I starting tomorrow, August 13</dc:creator>
		<pubDate>Tue, 12 Aug 2008 18:18:00 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10346</guid>
		<description>[...] Unicode database support in Tiburon for Delphi and C++   http://blogs.codegear.com/davidi/2008/07/15/38895 [...]</description>
		<content:encoded><![CDATA[<p>[...] Unicode database support in Tiburon for Delphi and C++   <a href="http://blogs.codegear.com/davidi/2008/07/15/38895" rel="nofollow">http://blogs.codegear.com/davidi/2008/07/15/38895</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Babak Ahadi</title>
		<link>http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10284</link>
		<dc:creator>Babak Ahadi</dc:creator>
		<pubDate>Wed, 23 Jul 2008 12:47:46 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10284</guid>
		<description>Delphi is great forever and ever!!!!!!!!!!!!!</description>
		<content:encoded><![CDATA[<p>Delphi is great forever and ever!!!!!!!!!!!!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: m. Th.</title>
		<link>http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10250</link>
		<dc:creator>m. Th.</dc:creator>
		<pubDate>Wed, 16 Jul 2008 18:20:48 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10250</guid>
		<description>@Lars: Thanks very much! Nice idea. But we have way too many fields to duplicate, to refactor views, SPs, reports etc. Of course my example can be misleading. ...but I'll take your idea and we'll force our users to upgrade by using a 'DB Version' field somewhere (it will be a generator, most probably).

On Tiburon's side, in order to have a smooth upgrade path, imho, what would be a nice thing would be a property Encoding: TEncoding read... write... ; on TDataSet and on TField descendants. If Encoding is nil in TDataSet then it will grab the value from a global/project variable. If Encoding is nil in TField then it will take the value from TDataSet's one. This (combined with DBVersion indicator) will allow a gradual change in DB, thus keeping the code base in a stable state. Of course, 'Encoding' applies (AFAIS now) at strings and blobs/memos only... Also if we'll have in the TDataSet component's right-click popup menu a choice saying 'Set all the fields to  enconding' won't hurt of course...

David?</description>
		<content:encoded><![CDATA[<p>@Lars: Thanks very much! Nice idea. But we have way too many fields to duplicate, to refactor views, SPs, reports etc. Of course my example can be misleading. &#8230;but I&#8217;ll take your idea and we&#8217;ll force our users to upgrade by using a &#8216;DB Version&#8217; field somewhere (it will be a generator, most probably).</p>
<p>On Tiburon&#8217;s side, in order to have a smooth upgrade path, imho, what would be a nice thing would be a property Encoding: TEncoding read&#8230; write&#8230; ; on TDataSet and on TField descendants. If Encoding is nil in TDataSet then it will grab the value from a global/project variable. If Encoding is nil in TField then it will take the value from TDataSet&#8217;s one. This (combined with DBVersion indicator) will allow a gradual change in DB, thus keeping the code base in a stable state. Of course, &#8216;Encoding&#8217; applies (AFAIS now) at strings and blobs/memos only&#8230; Also if we&#8217;ll have in the TDataSet component&#8217;s right-click popup menu a choice saying &#8216;Set all the fields to  enconding&#8217; won&#8217;t hurt of course&#8230;</p>
<p>David?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lars Fosdal</title>
		<link>http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10246</link>
		<dc:creator>Lars Fosdal</dc:creator>
		<pubDate>Wed, 16 Jul 2008 15:00:42 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10246</guid>
		<description>IMO, m.Th.'s problem is not as much related purely to Tiburon as it would be a database schema version problem.  Changes to a schema may be as application breaking as changing from Ansi to Unicode in the application.

A possible workaround:  Create an F1U field as Unicode.  Write two triggers that translate WIN1253 to Unicode from F1 to F1U on change, and vise versa: from F1U to F1.  Leave the current application as is (assuming that it will not barf on the F1U field anywhere). In the Tiburon version, change all F1 references to use the F1U field.

This way, the old and the new can coexist to a certain degree.  On the other hand - it is advisable to write your client contracts in such a way that they are obliged to upgrade to the latest production version within reasonable time. If you don't, you will end up with a version compatibility nightmare.

Write "Grace period" functions that warn the user that his application will cease to function withing 30 days unless he upgrades to the latest version.  Make sure you can override such a function per user if you have users with unreasonable incompetence levels.</description>
		<content:encoded><![CDATA[<p>IMO, m.Th.&#8217;s problem is not as much related purely to Tiburon as it would be a database schema version problem.  Changes to a schema may be as application breaking as changing from Ansi to Unicode in the application.</p>
<p>A possible workaround:  Create an F1U field as Unicode.  Write two triggers that translate WIN1253 to Unicode from F1 to F1U on change, and vise versa: from F1U to F1.  Leave the current application as is (assuming that it will not barf on the F1U field anywhere). In the Tiburon version, change all F1 references to use the F1U field.</p>
<p>This way, the old and the new can coexist to a certain degree.  On the other hand - it is advisable to write your client contracts in such a way that they are obliged to upgrade to the latest production version within reasonable time. If you don&#8217;t, you will end up with a version compatibility nightmare.</p>
<p>Write "Grace period" functions that warn the user that his application will cease to function withing 30 days unless he upgrades to the latest version.  Make sure you can override such a function per user if you have users with unreasonable incompetence levels.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: m. Th.</title>
		<link>http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10241</link>
		<dc:creator>m. Th.</dc:creator>
		<pubDate>Wed, 16 Jul 2008 07:11:48 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10241</guid>
		<description>Nice David, Thanks a lot!

Can I put a problem for you? If you solve it, I promise that I'll try to grab for you the best virtual full-colored shirt to be found arround... :-)

The problem:
We have 100 clients which use a central DB (charset WIN1253 - Greek) through a Delphi fat client. In the above DB we have (let's say) a table T1 with two fields F1 and F2. We want to convert the data from F1 to Unicode (eg. it's a name of a person etc.) and F2 to leave 'as is' (let's say that inside we have RTF data). We have in our application in 300 places F1.AsString and F2.AsString and in 200 places F1.Value and F2.Value where in those F1 and F2 are parameters passed as TField or FindField('F1').Value, hence will be a variant which will be converted from/to string. 

Quiz:
How we upgrade the above system to Tiburon without any problems, knowing that from 100 clients 10 will upgrade immediately, 20 at different dates in the next month, 30 /might/ update, 25 are in vacantion/sick etc. and will open their client after a prolonged period of time and 15 will "never" upgrade?</description>
		<content:encoded><![CDATA[<p>Nice David, Thanks a lot!</p>
<p>Can I put a problem for you? If you solve it, I promise that I&#8217;ll try to grab for you the best virtual full-colored shirt to be found arround&#8230; <img src='http://blogs.codegear.com/davidi/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>The problem:<br />
We have 100 clients which use a central DB (charset WIN1253 - Greek) through a Delphi fat client. In the above DB we have (let&#8217;s say) a table T1 with two fields F1 and F2. We want to convert the data from F1 to Unicode (eg. it&#8217;s a name of a person etc.) and F2 to leave &#8216;as is&#8217; (let&#8217;s say that inside we have RTF data). We have in our application in 300 places F1.AsString and F2.AsString and in 200 places F1.Value and F2.Value where in those F1 and F2 are parameters passed as TField or FindField(&#8217;F1&#8242;).Value, hence will be a variant which will be converted from/to string. </p>
<p>Quiz:<br />
How we upgrade the above system to Tiburon without any problems, knowing that from 100 clients 10 will upgrade immediately, 20 at different dates in the next month, 30 /might/ update, 25 are in vacantion/sick etc. and will open their client after a prolonged period of time and 15 will "never" upgrade?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Angus</title>
		<link>http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10240</link>
		<dc:creator>Angus</dc:creator>
		<pubDate>Wed, 16 Jul 2008 06:20:12 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10240</guid>
		<description>I'll second stanleyxu2005 about the colour scheme. The standard colour is too light and it's irritating to have to put the  cursor over each individual paragraph to make it darker.</description>
		<content:encoded><![CDATA[<p>I&#8217;ll second stanleyxu2005 about the colour scheme. The standard colour is too light and it&#8217;s irritating to have to put the  cursor over each individual paragraph to make it darker.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Crandel</title>
		<link>http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10238</link>
		<dc:creator>Crandel</dc:creator>
		<pubDate>Wed, 16 Jul 2008 05:06:42 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10238</guid>
		<description>The order of the word in hebrew is not correct</description>
		<content:encoded><![CDATA[<p>The order of the word in hebrew is not correct</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: VT Venkatesh</title>
		<link>http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10235</link>
		<dc:creator>VT Venkatesh</dc:creator>
		<pubDate>Wed, 16 Jul 2008 02:17:56 +0000</pubDate>
		<guid isPermaLink="false">http://blogs.codegear.com/davidi/2008/07/15/38895#comment-10235</guid>
		<description>What about .Net roadmap.Will Tiburon support ECO V or force people to shift to VS ?Please see the ECO newsgroup to see what people are commenting  about  .Net expectations</description>
		<content:encoded><![CDATA[<p>What about .Net roadmap.Will Tiburon support ECO V or force people to shift to VS ?Please see the ECO newsgroup to see what people are commenting  about  .Net expectations</p>
]]></content:encoded>
	</item>
</channel>
</rss>
