<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>VCL Developer &#187; News</title>
	<atom:link href="http://vcldeveloper.com/category/news/feed/" rel="self" type="application/rss+xml" />
	<link>http://vcldeveloper.com</link>
	<description>Ali Keshavarz&#039;s Website</description>
	<lastBuildDate>Fri, 04 Nov 2011 23:40:16 +0000</lastBuildDate>
	<language>fa</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Update 1 for RAD Studio XE2 is available</title>
		<link>http://vcldeveloper.com/news/update-1-for-rad-studio-xe2-is-available/</link>
		<comments>http://vcldeveloper.com/news/update-1-for-rad-studio-xe2-is-available/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 08:08:52 +0000</pubDate>
		<dc:creator>Ali Keshavarz</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Delphi XE2]]></category>
		<category><![CDATA[Embarcadero]]></category>
		<category><![CDATA[RAD Studio]]></category>
		<category><![CDATA[RAD Studio XE2]]></category>
		<category><![CDATA[دلفی]]></category>

		<guid isPermaLink="false">http://vcldeveloper.com/?p=525</guid>
		<description><![CDATA[Today,  just less than a month of releasing the original XE2 product, Embarcadero published the first update of a series of frequent updates for RAD Studio XE2 (including Delphi XE2 and C++ Builder XE2). Update 1 contains 120 bug fixes in FireMonkey, VCL Styles, compiler, and IDE. This update is mandatory for installing the future [...]]]></description>
			<content:encoded><![CDATA[<p>Today,  just less than a month of releasing the original XE2 product, Embarcadero published the first update of a series of frequent updates for RAD Studio XE2 (including Delphi XE2 and C++ Builder XE2). Update 1 contains 120 bug fixes in FireMonkey, VCL Styles, compiler, and IDE. This update is mandatory for installing the future updates. Here is the official announcement: <a href="http://edn.embarcadero.com/article/41650" target="_blank">Update 1 for Delphi XE2, C++Builder XE2 and RAD Studio XE2</a> . Make sure to read Release Notes for Update 1 before installing it, because Update 1 requires a full uninstall of original XE2 installation and is not a simple upgrade. You can also see a list of all bug fixes in this update here: <a href="http://edn.embarcadero.com/article/41649" target="_blank">Delphi XE2 and C++Builder XE2 Update 1 Bug Fix List</a> .</p>
<p>As I checked the bugs list, at least one bug regarding BiDi support (QC # 97965) is fixed in VCL Styles. No other BiDi related bugs are fixed in this update. Embarcadero staff mentioned in Embarcadero newsgroups that the company is planning to release monthly updates for XE2 product, so we should wait to see if any of the BiDi related bugs will be fixed in the coming updates or not.</p>
]]></content:encoded>
			<wfw:commentRss>http://vcldeveloper.com/news/update-1-for-rad-studio-xe2-is-available/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ProcessInfo 1.5 is released with Win64 support</title>
		<link>http://vcldeveloper.com/news/processinfo-1-5-is-released-with-win64-support/</link>
		<comments>http://vcldeveloper.com/news/processinfo-1-5-is-released-with-win64-support/#comments</comments>
		<pubDate>Sun, 11 Sep 2011 22:14:29 +0000</pubDate>
		<dc:creator>Ali Keshavarz</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Components]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Freeware]]></category>
		<category><![CDATA[ProcessInfo]]></category>
		<category><![CDATA[TAppInfo]]></category>
		<category><![CDATA[TProcessInfo]]></category>
		<category><![CDATA[دلفی]]></category>
		<category><![CDATA[کامپوننت]]></category>

		<guid isPermaLink="false">http://vcldeveloper.com/?p=499</guid>
		<description><![CDATA[ProcessInfo 1.5 is released. The changes in this release are: Added support for Win64 and Delphi XE2. Added TProcessItem.CloseProcess method to close a process normally (not forcefully). Added TProcessItem.CurrentProcess property. This property always refers to the current process in the list of running processes. Added PrivateWorkingSetSize property to TProcessItem.MemoryInfo. Added global  ProcessInformation function. This function [...]]]></description>
			<content:encoded><![CDATA[<p>ProcessInfo 1.5 is released. The changes in this release are:</p>
<ul>
<li>Added support for Win64 and Delphi XE2.</li>
<li> Added TProcessItem.CloseProcess method to close a process normally (not forcefully).</li>
<li> Added TProcessItem.CurrentProcess property. This property always refers to the current process in the list of running processes.</li>
<li>Added PrivateWorkingSetSize property to TProcessItem.MemoryInfo.</li>
<li> Added global  ProcessInformation function. This function returns a global instance of TProcessInfo. The instance will be freed when the application is terminating.</li>
<li> Fixed a few minor bugs.</li>
</ul>
<p>To download ProcessInfo 1.5, please go to <a href="/products/products-components/process-info/">ProcessInfo</a> page.</p>
]]></content:encoded>
			<wfw:commentRss>http://vcldeveloper.com/news/processinfo-1-5-is-released-with-win64-support/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>FireMonkey and support for bi-directional text &#8211; Part 2</title>
		<link>http://vcldeveloper.com/news/firemonkey-and-support-for-bi-directional-text-2/</link>
		<comments>http://vcldeveloper.com/news/firemonkey-and-support-for-bi-directional-text-2/#comments</comments>
		<pubDate>Sun, 11 Sep 2011 09:51:04 +0000</pubDate>
		<dc:creator>Ali Keshavarz</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Delphi XE2]]></category>
		<category><![CDATA[FireMonkey]]></category>
		<category><![CDATA[RAD Studio]]></category>
		<category><![CDATA[RAD Studio XE2]]></category>

		<guid isPermaLink="false">http://vcldeveloper.com/?p=479</guid>
		<description><![CDATA[Last month when RAD Studio XE2 was still in Beta phase, I wrote a weblog post about bi-directional (BiDi) text support in KSDev VGScene (ancestor of FireMonkey), questioning FireMonkey support for BiDi text, and why it is important to support it. As I mentioned in a post-script update, Andreano Lanusse commented on my post, and [...]]]></description>
			<content:encoded><![CDATA[<p>Last month when RAD Studio XE2 was still in Beta phase, I wrote<a title="FireMonkey and support for bi-directional text" href="/news/firemonkey-and-support-for-bi-directional-text/" target="_blank"> a weblog post</a> about bi-directional (BiDi) text support in KSDev VGScene (ancestor of FireMonkey), questioning FireMonkey support for BiDi text, and why it is important to support it. As I mentioned in a post-script update, <a href="http://www.andreanolanusse.com/" target="_blank">Andreano Lanusse</a> commented on my post, and told us BiDi text would not be supported in the initial version of FireMonkey. Now it is been around a couple of weeks that the official RAD Studio XE2 is released, and its trial version is available for download. I decided to test BiDi support in the official FireMonkey using the trial version, and write the second part of my  investigation on BiDi text support in FireMonkey.</p>
<p>First of all I should mention that I didn&#8217;t expect any BiDi support in this version, so my initial intention was to highlight the bugs for BiDi support in FireMonkey and report them to be hopefully fixed in the future releases. The first impression was that FireMonkey is not as bad as VGScene in supporting BiDi text. It was a surprise because I didn&#8217;t really expect any BiDi support after reading Andreano&#8217;s comment. There is very limited and half baked support for BiDi text in the initial release and it still has a long way to go for fully supporting BiDi text. Here I am going to discuss support for BiDi text in FireMonkey version 1.0, highlighting the bugs which should be fixed regarding this support, and the QC report regarding each bug.</p>
<p>Before I discuss BiDi support, I should mention that according to Michael Swindell, Senior vice president of marketing and product management at Embarcadero, FireMonkey will be updated frequently. The first update is expected before the end of September, and the other updates will be published more often than quarterly [<a title="Will Firemonkey be updated outside of regular product updates? " href="https://forums.embarcadero.com/thread.jspa?threadID=60400" target="_blank">Source</a>]. That means, we will see several updates for FireMonkey before the new version of RAD Studio is published next year. That is really exciting and makes me very hopeful that all or at least many of the bugs mentioned here might be fixed before the next major release of RAD Studio in 2012. It is important to be hopeful about evolution of a product, and feel that your feedbacks are really considered by its developers. Years ago many of my friends tried to notify Borland about some of the existing bugs in VCL regarding BiDi and right-to-left languages support, but they never got fixed, and many of those guys migrated to .NET, abandoning Delphi. I myself stopped reporting any new bug to QC when Embarcadero deleted my EDN account just because my country in my profile was mentioned as Iran. Now I feel the team listens more to user feedbacks. It doesn&#8217;t really matter if I am Iranian or American or whatever when I am reporting a bug or when I am discussing some technical stuff. Anyways, that is another story and I discussed that in <a title="Embarcadero and Iran Embargo" href="/news/embarcadero-and-iran-embargo/" target="_blank">an older blog post</a>. Let&#8217;s go back to FireMonkey and its support for BiDi text:</p>
<p><span id="more-479"></span></p>
<p>The first thing that I noticed in FireMonkey regarding BiDi support was a new BiDiMode property added to FireMonkey forms. This property determines if the whole form is right-to-left or left-to-right. When it is set to bdRightToLeft, it changes TextAlign property of the child controls inside the form, and set the text inside them aligned right to left. It also enables BiDi reading in the text for many of the controls so that a text containing a mixture of Latin and a right-to-left language (e.g. Arabic, Persian, Hebrew) characters is read correctly. If you remember from the older post on this subject, VGScene lacked such a feature. Having this effect makes FireMonkey a little more useful in right-to-left applications. At least in many cases your users will be able to read the text shown to them properly.</p>
<p>However the idea of having a single BiDiMode property to govern all the child controls inside a form is not practically appealing, because it is very common for a right-to-left from to contain Latin or numeric elements which should be laid out left-to-right rather than  right-to-left. Actually all FireMonkey controls should have a BiDiMode property governing the layout of that particular control and its children; something similar to BiDiMode property in VCL controls.</p>
<p>Another problem that is visible when BiDiMode of a form is set to bdRightToLeft is in the form title; the title is not BiDi-aware so if it contains a mixture of Latin and right-to-left characters, it will show the text incorrectly. Also layout of the title is not right; in a right-to-left window the default coordinates system starts from the upper right corner, form icon is on the right side of the title bar, form title is next to it, and window buttons (min, max, close) are on the left side of the form, that means mirroring the position of title bar elements. Right now the title bar for right-to-left forms are aligned the same way as left-to-right forms which is wrong:</p>
<div id="attachment_485" class="wp-caption aligncenter" style="width: 504px"><a href="/wp-content/uploads/2011/09/RTL_FireMonkey_Title.png"><img class="size-full wp-image-485" title="RTL FireMonkey Title" src="http://vcldeveloper.com/wp-content/uploads/2011/09/RTL_FireMonkey_Title.png" alt="RTL FireMonkey Title" width="494" height="29" /></a><p class="wp-caption-text">BUG: FireMonkey form title does not change when BiDiMode is bdRightToLeft </p></div>
<p>VCL forms have the same problem. It gets even more irritating when you use a right-to-left VCL form with Ribbon controls; Ribbon application button overlaps with Close button, making it very hard for the user to click on Close button.</p>
<p>Now let&#8217;s see how child controls react when BiDiMode is set to bdRightToLeft. First of all, I checked TEdit control. It is the common control for receiving text input. There are two type of textual edit controls in FireMonkey; TEdit, and TClearingEdit. The latter has a button at the end of the control which clears the text inside the control, when clicked:</p>
<div id="attachment_486" class="wp-caption aligncenter" style="width: 266px"><a href="/wp-content/uploads/2011/09/RTL_FireMonkey_EditBox.png"><img class="size-full wp-image-486" title="RTL FireMonkey EditBox" src="http://vcldeveloper.com/wp-content/uploads/2011/09/RTL_FireMonkey_EditBox.png" alt="RTL FireMonkey EditBox" width="256" height="95" /></a><p class="wp-caption-text">Right-to-left edit boxes in FireMonkey have a couple of minor visual bugs.</p></div>
<p>As you can see in the picture above, BiDi text is shown correctly in those edit controls, but they have two other bugs; first of all, when an edit control receives focus, the cursor remains on the left side of the edit box, blinking. The cursor should be at the right corner of the edit box when the control is set right-to-left. Even when an edit box is focused and input language is changed, if the input language is right-to-left, the cursor should jump to the right side of the box.  This false behavior is not exclusive to TEdit, actually all controls that receive text input (e.g. CombBoxes, Memos, etc.) have the same problem with their cursor position. The other problem is with TClearingEdit control; clear button inside the control should be positioned on the left side when text is right-to-left, and on the right side when text is left-to-right.</p>
<p>ComboBoxes have an additional bug beside the other one I mentioned for edits; the items in the drop down list are left-aligned and not BiDi-aware (i.e. mixing Latin and right-to-left characters destroys proper text reading):</p>
<div id="attachment_487" class="wp-caption aligncenter" style="width: 225px"><a href="/wp-content/uploads/2011/09/RTL_FireMonkey_ComboBox.png"><img class="size-full wp-image-487" title="RTL FireMonkey ComboBox" src="http://vcldeveloper.com/wp-content/uploads/2011/09/RTL_FireMonkey_ComboBox.png" alt="RTL FireMonkey ComboBox" width="215" height="115" /></a><p class="wp-caption-text">BUG: Items are left-aligned and item texts are not BiDi-aware.</p></div>
<p>Unfortunately right-to-left Memo is useless in FireMonkey. This memo control is really buggy, even when it is not right-to-left. Anyways, as you can see in the picture below, a right-to-left memo does not show the text at all. The text is there as the cursor is blinking where the text is ended, but no text is visible:</p>
<div id="attachment_488" class="wp-caption aligncenter" style="width: 256px"><a href="/wp-content/uploads/2011/09/RTL_FireMonkey_Memo.png"><img class="size-full wp-image-488" title="RTL FireMonkey Memo" src="http://vcldeveloper.com/wp-content/uploads/2011/09/RTL_FireMonkey_Memo.png" alt="RTL FireMonkey Memo" width="246" height="112" /></a><p class="wp-caption-text">BUG: Right-to-left text disappears in FireMonkey Memo control.</p></div>
<p>TreeView in FireMonkey acts similar to TreeView in VGScene, the items are right-aligned, but the arrow icon indicating each node sub-items, and the indentation for each sub-item are drawn on the left-side, making the right-to-left TreeView looking weird. The only improvement here is in BiDi text reading; as you can see in the picture, BiDi text is read correctly when Latin and right-to-left characters are mixed together:</p>
<div id="attachment_490" class="wp-caption aligncenter" style="width: 220px"><a href="/wp-content/uploads/2011/09/RTL_FireMonkey_TreeView1.png"><img class="size-full wp-image-490" title="RTL FireMonkey TreeView" src="http://vcldeveloper.com/wp-content/uploads/2011/09/RTL_FireMonkey_TreeView1.png" alt="RTL FireMonkey TreeView" width="210" height="141" /></a><p class="wp-caption-text">BUG: Arrow icon and indentations for the sub-items remain on the left side.</p></div>
<p>As I mentioned in the first part of this investigation, it is been so many years that TreeView in VCL has problem with right-to-left too. I hope we see it fixed someday soon too.</p>
<p>TabControl in FireMonkey isn&#8217;t any better than PageControl in VCL; they both ignore right-to-left setting, and remain left-aligned:</p>
<p style="text-align: center;">
<div id="attachment_491" class="wp-caption aligncenter" style="width: 222px"><a href="/wp-content/uploads/2011/09/RTL_FireMonkey_TabControl.png"><img class="size-full wp-image-491 " title="RTL_FireMonkey_TabControl" src="http://vcldeveloper.com/wp-content/uploads/2011/09/RTL_FireMonkey_TabControl.png" alt="RTL FireMonkey TabControl" width="212" height="148" /></a><p class="wp-caption-text">BUG: Tabs are shown left-to-right rather than right-to-left</p></div>
<p>Now the menus; both FireMonkey and VCL have problem in showing right-to-left menus properly. They both draw the menu (either main menu or popup menu) left-aligned, so that the icon is shown on the left side of each menu item rather than the right side. FireMonkey has two additional bugs in its menu; first of all, BiDi text reading in the menu is not implemented, so mixing Latin and right-to-left characters in a text makes the text unreadable. Beside that, menu items in the main menu are always started from left to right:</p>
<div id="attachment_492" class="wp-caption aligncenter" style="width: 244px"><a href="/wp-content/uploads/2011/09/RTL_FireMonkey_MainMenu.png"><img class="size-full wp-image-492" title="RTL_FireMonkey_MainMenu" src="http://vcldeveloper.com/wp-content/uploads/2011/09/RTL_FireMonkey_MainMenu.png" alt="RTL FireMonkey MainMenu" width="234" height="72" /></a><p class="wp-caption-text">BUG: Menus have no BiDi support and is left-aligned.</p></div>
<p>The last control I investigated was TStringGrid; TDBGrid in VCL was one of the rare controls which had nice right-to-left support, but such a nice support does not exist in FireMonkey; TStringGrid in FireMonkey can be attached to a dataset thanks to the new Live Binding feature, but columns are always drown left-to-right. What&#8217;s more, having separate BiDiMode property for each column is more important here, because each column might have right-to-left, Latin, or numerical data, and we cannot expect all such data to be aligned either left-to-right or right-to-left:</p>
<div id="attachment_494" class="wp-caption aligncenter" style="width: 254px"><a href="/wp-content/uploads/2011/09/RTL_FireMonkey_Grid.png"><img class="size-full wp-image-494" title="RTL_FireMonkey_Grid" src="http://vcldeveloper.com/wp-content/uploads/2011/09/RTL_FireMonkey_Grid.png" alt="RTL FireMonkey Grid" width="244" height="148" /></a><p class="wp-caption-text">BUG: Grid columns are always laid out left-to-right</p></div>
<h2>Conclusion</h2>
<p>With all these bugs in right-to-left support, is FireMonkey 1.0 really usable for right-to-left applications? The short answer is, No. The longer answer is; there is some basic support for reading BiDi text, so at least you can have some single-lined text in your application. With this basic support you can create some limited demo applications or some trivial fun stuff, but not really any serious business application. However, as I mentioned earlier, the good news is that FireMonkey is supposed to be updated frequently, so we can be hopeful that many of these bugs might be fixed in the coming months.</p>
<p>In this article I mentioned many VCL bugs regarding right-to-left support too, I hope Embarcadero consider these old VCL bugs too, and fix them eventually.</p>
<p>Anyways, here is a list of QC reports regarding the bugs I mentioned in this article. If you need proper right-to-left support in your Delphi or C++ Builder applications, please take a few minutes, and vote for these reports in Quality Central, so that Embarcadero would deal with them more seriously:</p>
<ul>
<li>QC <a href="http://qc.embarcadero.com/wc/qcmain.aspx?d=98647" target="_blank">#98647</a>: BiDi support in FireMonkey is broken.</li>
<li>QC <a href="http://qc.embarcadero.com/wc/qcmain.aspx?d=98604" target="_blank">#97604</a>: Cursor position always left with BidiMode = bdRightToLeft.</li>
<li>QC <a href="http://qc.embarcadero.com/wc/qcmain.aspx?d=98644" target="_blank">#98644</a>: All FireMonkey controls should have BiDiMode property.</li>
<li>QC <a href="http://qc.embarcadero.com/wc/qcmain.aspx?d=98638" target="_blank">#98638</a>: TMemo does not render BiDi text.</li>
<li>QC <a href="http://qc.embarcadero.com/wc/qcmain.aspx?d=98770" target="_blank">#98770</a>: Clear button is positioned incorrectly when BiDiMode is set to bdRightToLeft.</li>
<li>QC <a href="http://qc.embarcadero.com/wc/qcmain.aspx?d=98771" target="_blank">#98771</a>: ComboBox has no proper BiDi support.</li>
<li>QC <a href="http://qc.embarcadero.com/wc/qcmain.aspx?d=98772" target="_blank">#98772</a>: TreeView is not properly right aligned when BiDiMode is set to bdRightToLeft.</li>
<li>QC <a href="http://qc.embarcadero.com/wc/qcmain.aspx?d=98773" target="_blank">#98773</a>: TTabControl is not right aligned when BidiMode is set to bdRightToLeft.</li>
<li>QC <a href="http://qc.embarcadero.com/wc/qcmain.aspx?d=98774" target="_blank">#98774</a>: Both main menu and popup menu have serious problems in supporting bi-directional text.</li>
<li>QC <a href="http://qc.embarcadero.com/wc/qcmain.aspx?d=98775" target="_blank">#98775</a>: TStringGrid has no proper support for bi-directional text.</li>
</ul>
<p>BTW, here is a request in Delphi UserVoice website demanding better support for bidirectional user interfaces in Delphi. Please vote for this one too:</p>
<ul>
<li><a href="http://delphi.uservoice.com/forums/4432-general/suggestions/2231089-better-support-for-bidirectional-user-interfaces?ref=title" target="_blank">Better support for Bidirectional user interfaces</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://vcldeveloper.com/news/firemonkey-and-support-for-bi-directional-text-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>RAD Studio XE2 is released!</title>
		<link>http://vcldeveloper.com/news/rad-studio-xe2-is-released/</link>
		<comments>http://vcldeveloper.com/news/rad-studio-xe2-is-released/#comments</comments>
		<pubDate>Thu, 01 Sep 2011 19:57:13 +0000</pubDate>
		<dc:creator>Ali Keshavarz</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Delphi XE2]]></category>
		<category><![CDATA[RAD Studio]]></category>
		<category><![CDATA[RAD Studio XE2]]></category>
		<category><![CDATA[XE2]]></category>

		<guid isPermaLink="false">http://vcldeveloper.com/?p=476</guid>
		<description><![CDATA[Eventually RAD Studio XE2 is RTMed and ready for download. There is a good article in the online documentation wiki about what&#8217;s new in Delphi and C++ Builder XE2. You can also view the features matrix for different editions here. And here  is download link for the 30-days trial version from Embarcadero. Before installing the [...]]]></description>
			<content:encoded><![CDATA[<p>Eventually RAD Studio XE2 is RTMed and ready for download. There is a good article in the online documentation wiki about <a href="http://docwiki.embarcadero.com/RADStudio/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE2" target="_blank">what&#8217;s new in Delphi and C++ Builder XE2.</a> You can also view the features matrix for different editions <a href="http://edn.embarcadero.com/article/images/41566/RAD_Studio_XE2_Feature_Matrix.pdf" target="_blank">here</a>.</p>
<p>And here  is <a href="https://downloads.embarcadero.com/free/rad_studio" target="_blank">download link</a> for the 30-days trial version from Embarcadero. Before installing the final version, if you already have XE2 beta installed, make sure you uninstall it completely and remove all of its folders which might remain undeleted; otherwise, you might have to deal with weird installation issues.</p>
<p>I hope this will be a new start for Delphi <img src='http://vcldeveloper.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://vcldeveloper.com/news/rad-studio-xe2-is-released/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>FireMonkey and support for bi-directional text</title>
		<link>http://vcldeveloper.com/news/firemonkey-and-support-for-bi-directional-text/</link>
		<comments>http://vcldeveloper.com/news/firemonkey-and-support-for-bi-directional-text/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 02:52:00 +0000</pubDate>
		<dc:creator>Ali Keshavarz</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[FireMonkey]]></category>
		<category><![CDATA[RAD Studio]]></category>
		<category><![CDATA[RAD Studio XE2]]></category>

		<guid isPermaLink="false">http://vcldeveloper.com/news/firemonkey-and-support-for-bi-directional-text/</guid>
		<description><![CDATA[If you are following Delphi news, you probably know that Delphi XE2 is supposed to be released very soon, and it has many exciting features. One of the important new features introduced in Delphi XE2 is its GPU-accelerated, vector-based GUI framework; FireMonkey. I talked about XE2 and FireMonkey in the previous post, but since it [...]]]></description>
			<content:encoded><![CDATA[<p>If you are following Delphi news, you probably know that Delphi XE2 is supposed to be released very soon, and it has many exciting features. One of the important new features introduced in Delphi XE2 is its GPU-accelerated, vector-based GUI framework; FireMonkey. I talked about XE2 and FireMonkey in the <a href="http://vcldeveloper.com/news/waiting-for-delphi-xe2-with-excitement/" target="_blank">previous post</a>, but since it is not officially released yet, I am not sure if FireMonkey will have any support for bi-directional (BiDi) text and Right-to-Left languages. A few days ago, I asked Andreano Lanusse in his <a href="http://www.andreanolanusse.com/en/video-delphi-xe2-and-firemonkey-app-on-windows-mac-and-ios/" target="_blank">blog post</a> about this, but I received no reply. Well, I knew FireMonkey is based on existing KSDev <a href="http://www.ksdev.com/wiki/index.php?title=VGScene" target="_blank">VGScene</a> component which was purchased by Embarcadero earlier this year. I had played with VGScene a while ago; however, I couldn’t remember if it had any support for bi-directional text. Anyhow, I decided to install a copy of the last published version of VGScene (4.2) on Delphi XE to see what kind of support for BiDi text languages it provides.</p>
<p>Before I describe my experience with VGScene, let me explain what supporting bi-directional text really means, why is it important, and what kind of support for it exists in MS Windows…</p>
<p><span id="more-468"></span></p>
<h3>What is support for BiDi , and why is it important?</h3>
<p>First of all, you probably know that, not all languages in the world are written from left to right; a few languages including Arabic, Persian, Urdu, Hebrew, and Maldivian are written from right to left. Some languages like Chinese can be written in any direction; left to right, right to left, or top to down.</p>
<p>Displaying a right-to-left text in computers is not as simple as flipping the screen order, because in some cases, your right-to-left text may contain left-to-right character too. That way, either the left-to-right or the right-to-left characters would be displayed incorrectly. Such a text which is a mixture of left-to-right and right-to-left characters is called Bi-directional (BiDi) text, and supporting bi-directional text in computer means displaying and inputting BiDi text correctly. You can read more about it in <a href="http://en.wikipedia.org/wiki/Bi-directional_text" target="_blank">Wikipedia</a>.</p>
<p>But why is BiDi important?</p>
<p>Right-to-left languages are widespread in Middle East, North Africa, and Central Asia. <a href="http://en.wikipedia.org/wiki/Arabic_language" target="_blank">Arabic</a> has the third largest population of official usages in the world, after English and French, with 26 countries using it as their official language, and more than 280 million people speaking it as their first language. It is also language of Quran (Koran), the holly Muslims’ book. Quran and Islamic prayers are read in Arabic, so every Muslim in the world should have a basic knowledge of Arabic to say his/her daily prayers. Islam is the second largest religion in the world with more than 1.5 billion followers all over the world, and the one with the fastest pace of growth.</p>
<p><a href="http://en.wikipedia.org/wiki/Persian_language" target="_blank">Persian</a> is the official language in 3 countries with more than 100 million population. <a href="http://en.wikipedia.org/wiki/Urdu" target="_blank">Urdu</a> is the official language in Pakistan, with more than 60 million speakers. <a href="http://en.wikipedia.org/wiki/Hebrew_language" target="_blank">Hebrew</a> is the Jewish language, and language of Torah. There are more than 13 million Jews around the world.</p>
<p>Summing all of these, more than <strong><span style="text-decoration: underline;">400 million people in 30 countries</span></strong> all over the world are using a right-to-left language as their first language, and more than 1.5 billion people are using a right-to-left language as their religious language.</p>
<p>From software development point of view, if you are writing a software targeting any market in Middle East, Central Asia, or North Africa, or writing a religious software for Muslims or Jews; you <strong><em>need</em></strong> BiDi support in your software.</p>
<h3>BiDi support in Windows</h3>
<p>Win32 always have had adequate support for right-to-left languages. Currently Windows supports Arabic and Hebrew scripts. Persian uses Arabic alphabet, so supporting Arabic is enough to support Persian too. Since Windows 2000, Windows started to fully support Unicode, which made supporting displaying and inputting right-to-left text in Windows easier. Win32 also supports right-to-left layout for controls and windows using some extended styles. Particularly, Win32 provides four <a href="http://msdn.microsoft.com/en-us/library/ff700543" target="_blank">extended styles</a> regarding BiDi support in Windows controls:</p>
<ul>
<li>
<div><strong>WS_EX_LAYOUTRTL</strong><br />
Arabic and Hebrew versions of Windows 98/Me, Windows 2000/XP: Creates a window whose horizontal origin is on the right edge. Increasing horizontal values advance to the left.</div>
</li>
<li>
<div><strong>WS_EX_LEFTSCROLLBAR</strong><br />
If the shell language is Hebrew, Arabic, or another language that supports reading order alignment, the vertical scroll bar (if present) is to the left of the client area. For other languages, the style is ignored.</div>
</li>
<li>
<div><strong>WS_EX_RIGHT</strong><br />
The window has generic &#8220;right-aligned&#8221; properties. This depends on the window class. This style has an effect only if the shell language is Hebrew, Arabic, or another language that supports reading-order alignment; otherwise, the style is ignored. Using the WS_EX_RIGHT style for static or edit controls has the same effect as using the SS_RIGHT or ES_RIGHT style, respectively. Using this style with button controls has the same effect as using BS_RIGHT and BS_RIGHTBUTTON styles.</div>
</li>
<li>
<div><strong>WS_EX_RTLREADING</strong><br />
If the shell language is Hebrew, Arabic, or another language that supports reading-order alignment, the window text is displayed using right-to-left reading-order properties. For other languages, the style is ignored.</div>
</li>
</ul>
<p>Using these styles, you can have right-to-left windows and child controls with proper BiDi text displaying and input. Microsoft provided the same support for BiDi in .NET WinForms, and WPF windows too.</p>
<h3>BiDi support in Delphi VCL</h3>
<p>In Delphi, BiDi support is basically provided in TControl class by exposing <a href="http://docwiki.embarcadero.com/VCL/e/index.php/Controls.TControl.BiDiMode" target="_blank">BiDiMode</a> property which specifies four different modes of displaying and layouting controls for left-to-right or right-to-left text. Beside that, TWinControl class provides <a href="http://docwiki.embarcadero.com/VCL/e/index.php/Controls.TWinControl.FlipChildren" target="_blank">FlipChildren</a> method which flips children of a container control from left to right or vice versa. Also TApplication class has two properties; BiDiKeyboard, and NonBiDiKeyboard which specify keyboard layout which should be loaded automatically based on a BiDiMode value of a control when user focuses on that particular control. For example, you can specify Arabic layout code for Application.BiDiKeyboard, and English layout code for Application.NonBiDiKeyboard in your source code, and whenever the user focuses on a right-to-left control in any of application forms, the active input keyboard changes to Arabic, and when he/she focuses a left-to-right control, the active input keyboard changes to English. Take note that Application.NonBiDiKeyboard and Application.BiDiKeyboard are kinda useless in Windows Vista and Windows 7, because they call <a href="http://msdn.microsoft.com/en-us/library/ms646305%28v=vs.85%29.aspx" target="_blank">LoadKeyboardLayout</a> API function every time a control is focused, instead of <a href="http://msdn.microsoft.com/en-us/library/ms646289%28v=vs.85%29.aspx" target="_blank">ActiveKeyboardLayout</a> API, and in such versions of Windows that causes a big delay which makes the forms load slower, and flicker when focus is changed; but that is another story.</p>
<p>There are some other methods and functions in VCL that can help you to write a BiDi-enabled application. You can read more about BiDi support in VCL in RAD Studio <a href="http://docwiki.embarcadero.com/RADStudio/en/Including_Bi-directional_Functionality_in_Applications" target="_blank">documentation</a>.</p>
<p>As you can see, BiDi support is built into VCL deep from its base class for all controls. The problem is that, not all controls in VCL hierarchy implement this feature properly; that means, there are many different controls that while being created or being drawn, do not take BiDi support into consideration, so changing their BiDiMode property have no effect on them, or in some cases brings up unexpected behaviors. For example, attaching a right-to-left DBGrid to ClientDataset will draw the grid totally useless:</p>
<table border="0" cellspacing="0" cellpadding="2" width="663">
<tbody>
<tr>
<td width="310" valign="top"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border-width: 0px;" title="LTR_Grid_VCL" src="http://vcldeveloper.com/wp-content/uploads/2011/08/LTR_Grid_VCL_thumb.png" border="0" alt="LTR_Grid_VCL" width="240" height="38" align="left" />Left-to-right DBGrid with BiDi text.</td>
<td width="351" valign="top"><a href="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_Grid_VCL.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="RTL_Grid_VCL" src="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_Grid_VCL_thumb.png" border="0" alt="RTL_Grid_VCL" width="240" height="38" /></a><br />
Right-to-Left DBGrid attached to ClientDataset</td>
</tr>
</tbody>
</table>
<p>Setting BiDiMode for Delphi Ribbon, or PageControl, or TreeView control has no effect on them. PageControl and TreeView are standard Windows controls with support of right-to-left layout, but they are not wrapped properly in VCL:</p>
<table border="0" cellspacing="0" cellpadding="2" width="665">
<tbody>
<tr>
<td width="320" valign="top"><a href="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_Tab_VCL.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="RTL_Tab_VCL" src="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_Tab_VCL_thumb.png" border="0" alt="RTL_Tab_VCL" width="229" height="68" /></a><br />
<span style="font-size: x-small;">VCL: BiDiMode is set to bdRightToLeft, but PageControl is still left-tot-right.<br />
</span></td>
<td width="343" valign="top"><a href="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_Tab_WinForms.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="RTL_Tab_WinForms" src="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_Tab_WinForms_thumb.png" border="0" alt="RTL_Tab_WinForms" width="244" height="60" /></a><br />
WinForms: TabControl is properly set to right-to-left alignment.</td>
</tr>
<tr>
<td width="320" valign="top"><a href="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_TreeView_VCL.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="RTL_TreeView_VCL" src="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_TreeView_VCL_thumb.png" border="0" alt="RTL_TreeView_VCL" width="264" height="116" /></a><br />
<span style="font-size: x-small;">VCL: BiDiMode is set to bdRightToLeft, but TreeView, and CategoryButtons are still left-tot-right.<br />
</span></td>
<td width="343" valign="top"><a href="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_TreeView_WinForms.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="RTL_TreeView_WinForms" src="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_TreeView_WinForms_thumb.png" border="0" alt="RTL_TreeView_WinForms" width="244" height="133" /></a><br />
WinForms: TreeView is properly set to right-to-left alignment.</td>
</tr>
</tbody>
</table>
<p>Sometimes setting BiDiMode for a control to bdRightToLeft makes its text BiDi-enabled, but the control itself is not layouted right-to-left:</p>
<table border="0" cellspacing="0" cellpadding="2" width="665">
<tbody>
<tr>
<td width="323" valign="top"><a href="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_Menu_VCL.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="RTL_Menu_VCL" src="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_Menu_VCL_thumb.png" border="0" alt="RTL_Menu_VCL" width="164" height="184" /></a><br />
<span style="font-size: x-small;">BiDiMode is set to bdRightToLeft, but main menu control is aligned left-to-right. </span></td>
<td width="340" valign="top"><a href="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_Menu_WinForms.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="RTL_Menu_WinForms" src="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_Menu_WinForms_thumb.png" border="0" alt="RTL_Menu_WinForms" width="164" height="184" /></a><br />
WinForms: Menu is properly set to right-to-left alignment.</td>
</tr>
</tbody>
</table>
<p>BiDi support in third-party components is not consistent either; some components like <a href="http://www.fast-report.com/en/products/" target="_blank">FastReport</a> have very nice support for BiDi text. <a href="http://www.raize.com/devtools/rzcomps/" target="_blank">Raize components</a> are usually good in right-to-left layout thanks to their custom rendering methods. <a href="http://www.delphi-gems.com/index.php?option=com_content&amp;task=view&amp;id=12&amp;Itemid=38" target="_blank">VirtualTreeView</a> and <a href="http://www.ehlib.com/" target="_blank">EhLib</a> have nice BiDi support too. I like TMS components a lot, specially their <a href="http://www.tmssoftware.com/site/advsmoothcontrols.asp" target="_blank">Smooth Controls</a>, but BiDi support in <a href="http://www.tmssoftware.com/site/products.asp?t=vcl" target="_blank">TMS components</a> is weak, except their grid component. I don’t use <a href="http://www.devexpress.com/Products/VCL/" target="_blank">DevExpress</a> components, but I heard their components are quiet good in handling BiDi.</p>
<h3>BiDi support in KSDev VGScene</h3>
<p>OK, examining this one was the main reason of writing this blog post; the truth is, unfortunately, VGScene has no BiDi support, yes you read it right, NO support. I checked properties in VGScene controls several times; no such BiDiMode, or RightToLeft, or RTL property exists. VGScene is not able to render BiDi text properly, or set proper right-to-left alignment for its controls.</p>
<p>There is a property called TextAlign in some controls, at first I thought that is the property I was looking for, but later on I found out it just aligns text in the control to either left or right side, but does not set text direction accordingly, that means no BiDi support!</p>
<p>If you don’t know Persian, you might think text in the pictures below is drawn correctly; however, if you look carefully, you will notice the dot (.) character at the beginning of the right-to-left text in VGScene screenshot. You may also notice that text shown in VGScene is not the same as the text in WPF.Actually the text in WPF screenshot means “This is a Test”, and Test is written in English while the rest of it is written in Persian. The text in VGScene screenshot is meaningless; that is because VGScene has no sense of BiDi, and when you mix a Latin character or punctuation symbol with your right-to-left characters, it draws the whole text as a mess.</p>
<table border="0" cellspacing="0" cellpadding="2" width="400">
<tbody>
<tr>
<td width="52" valign="top"><a href="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_TextBox_VGScene.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="RTL_TextBox_VGScene" src="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_TextBox_VGScene_thumb.png" border="0" alt="RTL_TextBox_VGScene" width="224" height="184" /></a><br />
VGScene</td>
<td width="348" valign="top"><a href="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_TextBox_WPF.png"><img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="RTL_TextBox_WPF" src="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_TextBox_WPF_thumb.png" border="0" alt="RTL_TextBox_WPF" width="224" height="184" /></a><br />
WPF</td>
</tr>
</tbody>
</table>
<p>Well VGScene is not able to properly change layout of a control to right-to-left either. The screenshot below shows two TreeView controls in VGScene, in the left control TextAlign is set to left, and in the right control it is set to right. As you can see, when you right-align a treeview item, its text goes to the right side, but the arrow icon and children indentation remain on the left-side, making the TreeView to look something like a simple ListBox:</p>
<p><a href="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_TreeView_VGScene.png"><img style="background-image: none; margin: 0px 12px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="RTL_TreeView_VGScene" src="http://vcldeveloper.com/wp-content/uploads/2011/08/RTL_TreeView_VGScene_thumb.png" border="0" alt="RTL_TreeView_VGScene" width="414" height="184" /></a></p>
<p>Even if TextAlign property was supposed to be a property to define BiDi mode, Unlike BiDiMode in VCL or RightToLeft in WinForms or FlowDirection in WPF, it does not affect other controls hierarchically; that means, you should set it for every control separately, even in TreeView case, for every tree node.</p>
<p>For VGScene to support BiDi mode properly, it needs to add a property similar to BiDiMode in VCL in the base control class, and it should change the code for drawing a control or its text according to the value of this new property. How WPF implemented support for BiDi mode in the user interface can be a good template for modifying VGScene (or FireMonkey) to properly support BiDi text. You can read more about BiDi support in WPF here: <a href="http://msdn.microsoft.com/en-us/library/aa350685.aspx" target="_blank">Bidirectional features in WPF overview.</a></p>
<h3>Conclusion</h3>
<p>It is obvious that BiDi support was not a goal in VGScene design. VGScene is not in development anymore. It is sold to Embarcadero, and now its sequel is called FireMonkey. As I mentioned earlier, it is not clear whether FireMonkey will bring proper support for BiDi text or not. I am personally doubtful about it; because some of the new VCL controls are designed with no BiDi support in mind, and many obvious BiDi-related bugs in the older controls are remained unfixed for years. To me that is an indication that such a support is not a big concern for Embarcadero developers. What’s more, Andreano Lanusse somehow ignored answering my question regarding this support in FireMonkey, which can be another indication that such a support does not exist. I really hope my doubt is proved wrong, because if BiDi support in FireMonkey is the same as what I saw in VGScene, this tool will be useless in BiDi environments.</p>
<h3><span style="color: #ff0000;">Update (08/24/2011)<br />
</span></h3>
<p style="text-align: justify; padding-left: 30px;">As you can read in the comment; <a href="http://www.andreanolanusse.com/" target="_blank">Andreano Lanusse</a> from Embarcadero confirmed that FireMonkey in RAD Studio XE2 will not have BiDi support, but they included it in their RoadMap. The roadmap is not  published yet, thus we gotta wait for it and see when is BiDi support supposed to be included in FireMonkey. I hope they do it in an update pack for XE2 rather than postponing it to future releases of RAD Studio. Here I also should appreciate Andreano&#8217;s efforts for informing me and trying to include this feature in their roadmap.</p>
]]></content:encoded>
			<wfw:commentRss>http://vcldeveloper.com/news/firemonkey-and-support-for-bi-directional-text/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Waiting for Delphi XE2 with excitement</title>
		<link>http://vcldeveloper.com/news/waiting-for-delphi-xe2-with-excitement/</link>
		<comments>http://vcldeveloper.com/news/waiting-for-delphi-xe2-with-excitement/#comments</comments>
		<pubDate>Sat, 06 Aug 2011 20:41:00 +0000</pubDate>
		<dc:creator>Ali Keshavarz</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[FireMonkey]]></category>
		<category><![CDATA[RAD Studio]]></category>
		<category><![CDATA[RAD Studio XE2]]></category>
		<category><![CDATA[XE2]]></category>

		<guid isPermaLink="false">http://vcldeveloper.com/news/waiting-for-delphi-xe2-with-excitement/</guid>
		<description><![CDATA[Delphi world is full of good news these days. Delphi XE2 is announced officially a couple of days ago, and it is supposed to bring some lovely features It was obvious that XE2 will bring 64-bits support to Delphi, along with supporting Mac OS as a new target platform. Mac OS support was supposed to [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">Delphi world is full of good news these days. Delphi XE2 is announced officially a couple of days ago, and it is supposed to bring some lovely features <img style="border-bottom-style: none; border-left-style: none; border-top-style: none; border-right-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://vcldeveloper.com/wp-content/uploads/2011/08/wlEmoticon-smile.png" /></p>
<p align="justify">It was obvious that XE2 will bring 64-bits support to Delphi, along with supporting Mac OS as a new target platform. Mac OS support was supposed to be added to Delphi XE, but it was postponed to this release. Although 64-bits and Mac OS support are cool, they were both expected. The big news was FireMonkey!</p>
<p align="justify">When Embarcadero announced their plan for adding Mac OS support, the original plan was a continuation of the old CLX framework which was based on Qt. The difference was, the new CLX was supposed to bring just cross-compiling for Mac OS (and later on Linux), not like original CLX which had a Linux-based IDE (Kylix) for compiling the same source code for Linux. However the plan changed, Embarcadero bought <a href="http://www.ksdev.com/" target="_blank">KSDev</a> company, creator of <a href="http://www.ksdev.com/wiki/index.php?title=VGScene" target="_blank">VGScene</a> and <a href="http://www.ksdev.com/wiki/index.php?title=DXScene" target="_blank">DXScene</a> components, and hired its programmer. They decided to provide a vector-based, GPU accelerated, cross-platform GUI framework based on the recently bought KSDev products; and that is <strong>FireMonkey</strong>.</p>
<div align="justify"><span id="more-446"></span></div>
<p align="justify">FireMonkey is the new cross-platform GUI framework for Delphi. You can create Windows (32-bits, 64-bits), Mac OS (32-bits), and iOS (32-bits) applications using FireMonkey in Delphi XE2. <a href="http://en.wikipedia.org/wiki/IOS_%28Apple%29" target="_blank">iOS</a> addition was a surprised, and I didn’t expect it; although it is not a direct compilation to ARM code. Actually you have to export your iOS code to a <a href="http://en.wikipedia.org/wiki/Xcode" target="_blank">XCode</a> project, and compile it with XCode, to be able to run it on your iPhone or iPad devices. Also, 64-bits support for Mac is not ready yet. It seems they are still working on it.</p>
<p align="justify">On Windows platform, FireMonkey uses <a href="http://en.wikipedia.org/wiki/Direct2D" target="_blank">Direct2D</a> for 2D renderings, <a href="http://en.wikipedia.org/wiki/Direct3D" target="_blank">Direct 3D</a> for 3D renderings; and OpenGL on Mac OS. If Direct2D is not available, FireMonkey will fall back to GDI+ to render the GUI.</p>
<p align="justify">Here is a video by <cite><a href="http://www.andreanolanusse.com">Andreano Lanusse</a></cite> demoing 3D capabilities of FireMonkey on Windows, Mac OS, and iOS :</p>
<div style="padding-bottom: 0px; padding-left: 0px; width: 448px; padding-right: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:02c9f24e-3a9e-4a72-9c8a-9cfaa595db59" class="wlWriterEditableSmartContent">
<div><object width="448" height="252"><param name="movie" value="http://www.youtube.com/v/JtFIw2YpuQc?hl=en&amp;hd=1"></param><embed src="http://www.youtube.com/v/JtFIw2YpuQc?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="448" height="252"></embed></object></div>
<div style="width:448px;clear:both;font-size:.8em">Delphi XE2 and FireMonkey Application on Windows, Mac OS, and iOS</div>
</div>
<p>&#160;</p>
<p align="justify">You can also read more about FireMonkey on Andreano’s weblog (Do not miss the comments) :</p>
<p align="justify"><a href="http://www.andreanolanusse.com/en/a-little-bit-about-firemonkey-and-delphi-xe2/" target="_blank">A little bit about FireMonkey and Delphi XE2</a></p>
<p align="justify">However that is not the whole story; in XE2 we don’t need to deal with a separate set of components as data-aware components. Now in XE2 we will have Live Binding. It means we can bind any data source to any visual control. If you are familiar with .NET controls, you probably saw this binding property. Now the same thing exists in Delphi too.</p>
<p align="justify">What’s more, DataSnap and DBX are also enhanced; for DataSnap, AFAIK, proxy class generators are added for many platforms (i.e. Android, iOS, JavaScript, .NET, BlackBerry, etc.). Also I heard some features are added for deployment to could.&#160; For DBX, it seems a driver for ODBC is added.</p>
<p align="justify">Beside all of these new features, the popular reporting tool, <a href="http://www.fast-report.com/en/products/developer_tools_for_borland.html" target="_blank">FastReport</a>, will be shipped by default with Delphi XE2 too.</p>
<p align="justify">There must be many enhancements and additions to Delphi RTL too, but I haven’t heard anything about them yet. So we have to wait for other <a href="http://www.embarcadero.com/world-tour" target="_blank">worldwide tours</a> Embarcadero is conducting in August to get more detail information about this exciting release. </p>
<p align="justify">It seems XE2 might be the most significant Delphi release in the past decade. It is not officially announced when XE2 will be released, but I can guess it will be some time in September.</p>
]]></content:encoded>
			<wfw:commentRss>http://vcldeveloper.com/news/waiting-for-delphi-xe2-with-excitement/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Delphi 64 is coming</title>
		<link>http://vcldeveloper.com/news/delphi-64-is-coming/</link>
		<comments>http://vcldeveloper.com/news/delphi-64-is-coming/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 09:09:16 +0000</pubDate>
		<dc:creator>Ali Keshavarz</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Embarcadero]]></category>

		<guid isPermaLink="false">http://vcldeveloper.com/news/delphi-64-beta-available-for-download/</guid>
		<description><![CDATA[Eventually Embarcadero released a sneak preview of Delphi 64-bits compiler. Four days ago, there was an April 1 fake story about this, but now it is all real: http://www.embarcadero.com/products/delphi/64-bit According to their latest published Delphi roadmap by Embarcadero, they had planned a beta version of the 64bits compiler to be released in the first half [...]]]></description>
			<content:encoded><![CDATA[<p>Eventually Embarcadero released a sneak preview of Delphi 64-bits compiler. Four days ago, there was an April 1 fake story about this, but now it is all real:</p>
<p><a href="http://www.embarcadero.com/products/delphi/64-bit" target="_blank">http://www.embarcadero.com/products/delphi/64-bit</a></p>
<p>According to their latest published Delphi roadmap by Embarcadero, they had planned a beta version of the 64bits compiler to be released in the first half of 2011. Currently there is only a sneak preview video available, but you can fill a form to receive more information, or participate in its beta testing program. Seems this time Embarcadero are stick to their published roadmap, unlike what we saw for Delphi XE release.</p>
]]></content:encoded>
			<wfw:commentRss>http://vcldeveloper.com/news/delphi-64-is-coming/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ProcessInfo 1.3 is released</title>
		<link>http://vcldeveloper.com/news/processinfo-1-3-is-released/</link>
		<comments>http://vcldeveloper.com/news/processinfo-1-3-is-released/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 00:20:25 +0000</pubDate>
		<dc:creator>Ali Keshavarz</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Components]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[ProcessInfo]]></category>
		<category><![CDATA[TAppInfo]]></category>
		<category><![CDATA[TProcessInfo]]></category>
		<category><![CDATA[دلفی]]></category>
		<category><![CDATA[کامپوننت]]></category>

		<guid isPermaLink="false">http://vcldeveloper.com/?p=370</guid>
		<description><![CDATA[Hi, ProcessInfo 1.3 is released. The changes in this release are: CPU usage is added to TProcessItem. Is64Bit is added to TProcessItem. IsAccessible is added to TProcessItem. Setting thread priority is added to TThreadItem. Setting process base priority class is added to TProcessItem. To download ProcessInfo 1.3, please go to ProcessInfo page.]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>ProcessInfo 1.3 is released. The changes in this release are:</p>
<ul>
<li>CPU usage is added to TProcessItem.</li>
<li> Is64Bit is added to TProcessItem.</li>
<li> IsAccessible is added to TProcessItem.</li>
<li> Setting thread priority is added to TThreadItem.</li>
<li> Setting process base priority class is added to TProcessItem.</li>
</ul>
<p>To download ProcessInfo 1.3, please go to <a href="/products/products-components/process-info/">ProcessInfo</a> page.</p>
]]></content:encoded>
			<wfw:commentRss>http://vcldeveloper.com/news/processinfo-1-3-is-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Embarcadero and Iran Embargo</title>
		<link>http://vcldeveloper.com/news/embarcadero-and-iran-embargo/</link>
		<comments>http://vcldeveloper.com/news/embarcadero-and-iran-embargo/#comments</comments>
		<pubDate>Tue, 25 May 2010 22:02:23 +0000</pubDate>
		<dc:creator>Ali Keshavarz</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Embarcadero]]></category>
		<category><![CDATA[Embargo]]></category>
		<category><![CDATA[Iran]]></category>
		<category><![CDATA[Sanction]]></category>
		<category><![CDATA[USA]]></category>

		<guid isPermaLink="false">http://vcldeveloper.com/news/embarcadero-and-iran-embargo/</guid>
		<description><![CDATA[Are you an Iranian Delphi (or C++ Builder, or JBuilder) developer? Have you noticed that while you are in Iran, some pages of Embarcadero website do not load? You might have thought it is your ISP, or maybe Iranian filtering system, or maybe your browser, which are causing the problem, because other visitors are using [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Are you an Iranian <a href="www.embarcadero.com/products/delphi" target="_blank">Delphi</a> (or C++ Builder, or <a href="www.embarcadero.com/products/jbuilder" target="_blank">JBuilder</a>) developer? Have you noticed that while you are in Iran, some pages of Embarcadero <a href="www.embarcadero.com/" target="_blank">website</a> do not load?</p>
<p style="text-align: justify;">You might have thought it is your ISP, or maybe Iranian filtering system, or maybe your browser, which are causing the problem, because other visitors are using the website with no such problems, and nobody has reported such problems. Well, if you thought that way, you are wrong!</p>
<p style="text-align: justify;">It was some months (or maybe a year) ago that I noticed I cannot log into <a href="https://forums.codegear.com/" target="_blank">Embarcadero forums</a> (web interface for their newsgroups). It was telling me that my username\password was not valid! I retried my username\password several times, and even tried to make it to email me my password, but no success! Eventually I decided to create a new username, and tell them about my problem in the forum, but when I was creating the new account, I noticed that Iran is not in Countries list, and I have to choose another country if I want to create an account in their website. It was there that I found out they deleted my previous forum ID without any notification just because Iran was chosen as my country!</p>
<p style="text-align: justify;">Days passed and April 2010 came, I noticed that some Iranian Delphi developers were reporting problems about accessing <a href="http://edn.embarcadero.com/" target="_blank">EDN</a> (Embarcadero Developers Network). <a href="http://edn.embarcadero.com/" target="_blank">EDN</a> provides some articles, news reports, and white papers about Embarcadero products for software developers. I thought it must have been some ISP problems, but since I wasn’t sure, I created a topic in Embarcadero forums, and asked if EDN is down. Some users mentioned they have no problem accessing it in Europe, and later on, my topic got deleted from their forum, and I received an email from one of Embarcadero employees that this is due to their respected company’s policies in complying with US embargo, and I should keep it as a confidential note!</p>
<p style="text-align: justify;">Now it’s been some days (maybe 1 or 2 weeks) that I found out accessing <a href="http://blogs.embarcadero.com/" target="_blank">weblogs</a> belonging to Delphi team members on Embarcadero website, and also <a href="http://docwiki.embarcadero.com/" target="_blank">documents wiki website</a> (online version of Delphi documentation) is not possible from Iran.<span id="more-270"></span></p>
<p style="text-align: justify;">So, if you use any of Embarcadero products (either buying it legally or not) and you travel to Iran for a visit or live in Iran, you are not allowed to check their website, their weblogs, or their online documentations, put aside downloading trial versions or updates from their website! OK, they say it is so to comply with US embargo against Iran, but it is weird, as far as I know, when someone does something nice and according to law, they must be usually proud of it, but Embarcadero is not (!!) because they do not like you to know that they put such restrictions on some people; they do not bother redirecting you to a page saying this content is not available to you due to US embargo. They rather you think it is a server or Internet connection issue, not an organized restriction imposed by the company. That’s why you don’t see any explanation from them, or you do not receive any notifications when your accounts are removed from their website, or your post gets deleted when you ask them about it in their forums.</p>
<p style="text-align: justify;">It is also interesting to know why they are restricting access to such contents as online help or their employees weblogs? Because if they are following US laws, then banning product downloads from Iranian IP ranges should be enough. Why banning access to developers’ weblogs or online help documentations?! Companies like Google, Oracle, or Yahoo impose restrictions on downloading their products to Iranians too; for example you cannot directly download Google Chrome, or Yahoo Messenger from Iran, but they do not restrict their employees weblogs, or announcements for new coming products. Actually it seems Embarcadero likes ambiguity, as they expressed this interest in their published roadmap which was more confusing than clarifying. You can read about it more <a href="/news/my-view-on-new-delphi-roadmap/" target="_blank">here</a>.</p>
<p style="text-align: justify;">Maybe the reason Embarcadero decided to ban their website content on Iranians was popularity of Delphi in Iran, and they thought making such restrictions make Iranian people feel the pressure more, and as you might know, US government believes such stupid pressures will eventually lead to people uprising in Iran, and making the country to agree with US demands! I know you might say nowadays Delphi’s popularity is not as before, and Visual Studio and .NET are currently the most popular development tools there, but so far Microsoft hasn’t imposed so called US embargo on Iran that way; that is they do not sell their products in Iran, but they haven’t banned MSDN or their download pages, or their online services for Iranians yet. So if they are supposed to put pressure, why not restricting Microsoft contents in Iran? Maybe Microsoft is kept for later stages of pressure on Iranian people, or maybe they are afraid if they ban very popular websites or tools, the result might get reversed, and people might feel more enmity toward US government.</p>
<p style="text-align: justify;">BTW, If you are a software developer in Iran, you already know how to nullify so-called US sanctions; so I didn’t go for explaining how to do so! <img src='http://vcldeveloper.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p style="text-align: justify;">I have a lot to say about US embargo against Iran, that I think I should write about in another post some other time.</p>
<p style="text-align: justify;">Have Fun!</p>
<p style="text-align: justify;">P.S. 1. Today (May 26, 2010) I tried to read Craig Stuntz’s <a href="http://blogs.teamb.com/craigstuntz/2010/05/25/38608/" target="_blank">blog post</a> on TeamB website, and this site makes the same restrictions on Iranians as official EDN website. So you can add <a href="http://www.teamb.com/" target="_blank">TeamB</a> to the list too.</p>
<p style="text-align: justify;">P.S.2. Today (June 18, 2010) I found out <a href="https://forums.codegear.com/" target="_blank">Embarcadero forums</a> are added to the restricted websites too. If Embarcadero had took developing their products as seriously as they took banning Iranian users, they would have probably had better products by far!</p>
]]></content:encoded>
			<wfw:commentRss>http://vcldeveloper.com/news/embarcadero-and-iran-embargo/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>My View on New Delphi Roadmap</title>
		<link>http://vcldeveloper.com/news/my-view-on-new-delphi-roadmap/</link>
		<comments>http://vcldeveloper.com/news/my-view-on-new-delphi-roadmap/#comments</comments>
		<pubDate>Thu, 13 May 2010 09:47:45 +0000</pubDate>
		<dc:creator>Ali Keshavarz</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Delphi Roadmap]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://vcldeveloper.com/?p=266</guid>
		<description><![CDATA[Embarcadero published a new roadmap for Delphi on May 10. You can see the new roadmap here. I don’t know if we can call it a roadmap or not. It does not give any time schedule or estimation on when each mentioned feature might be available (except a rough estimation for 64-bit compiler preview availability [...]]]></description>
			<content:encoded><![CDATA[<p>Embarcadero published a new roadmap for <a href="www.embarcadero.com/products/delphi" target="_blank">Delphi</a> on May 10. You can see the new roadmap <a href="http://edn.embarcadero.com/article/39934" target="_blank">here</a>.</p>
<p>I don’t know if we can call it a roadmap or not. It does not give any time schedule or estimation on when each mentioned feature might be available (except a rough estimation for 64-bit compiler preview availability in the first half of 2011). To me, the published roadmap does not clear any ambiguity regarding Delphi future. It just adds more to it! Really, what was the purpose of publishing this?! Maybe just to  muffle those Delphi users who were complaining about not having any updated roadmap.</p>
<p>Now, let’s take a look at this so-called roadmap…</p>
<p><span id="more-266"></span></p>
<p>I skip those unnecessary slides which say the focus of product in future is on this or that, because as far as I know, almost all RAD development tools focus on stuff like better performance, Rich GUI, Cutting-edge data access, and so on. So to me, such pages don’t add anything to reader’s knowledge about the product.</p>
<p>Then in page 8, we see the the projects R&amp;D team are working on:</p>
<ul>
<li>Fulcrum</li>
<li>Wheelhouse</li>
<li>64-bit compiler preview</li>
<li>Commodore</li>
<li>Chromium</li>
</ul>
<p>According to other pages in the roadmap, and what we already heard from Delphi team, there are teams working on these projects in parallel. This is good that they are working on these projects in parallel, but that adds some more ambiguity, because you don’t know what features of which project will be available in each release. For example Chromium is the last project in the list, and one of the features it will focus on is documenting OTA. Since the works are done in parallel, then they might finish documenting OTA while the main focus is on the Fulcrum or Wheelhouse or Commodore. So you might see OTA documentation released with one of the earlier projects. It can be taken the other way too, you might see a feature in Fulcrum or Wheelhouse projects not being ready at the time they are supposed to be, and postponed to Commodore or Chromium, or post-chromium release!</p>
<p>So you have no time frame, and no info when each mentioned feature is supposed to be released. Your desired feature might come into product in a few months to a couple of years (maybe even more, who knows?). I don’t know why Embarcadero likes to be so ambiguous!</p>
<h3>Project Fulcrum</h3>
<p>The main focus right now is on project Fulcrum. It is said that Fulcrum is currently in private Beta phase, and will be available as public Beta some time soon, and will probably go Final in summer. According to the roadmap, the main theme of Fulcrum is building cross-platform applications. The old roadmap was mentioning Windows, Linux, and Mac OS X, but the new roadmap only talks about Windows and Mac OS X. There is no Linux. Linux support is postponed to Wheelhouse project. It is not clear if at least building console applications in Linux is supported in Fulcrum. But it is clear that even Mac OS X support is about client applications in Fulcrum, and you can’t use technologies like DataSnap servers in Mac OS X until project Wheelhouse is released. So again Embarcadero is proving that they are not good at setting  project goals, and estimating projects. As we saw with 64-bit compiler, Linux support will not be available on time, and is going to be postponed. It might be available very soon after Fulcrum release, or it might go the same path 64-bit compiler went, and be postponed for a couple of years. No one knows.</p>
<p>Beside its main theme, Fulcrum is supposed to bring some other features to RAD Studio. First of all, it is mentioned it will provide remote debugging for Mac OS X. I don’t know why is this mentioned here because when they mention they are going to target Mac OS X platform, then they either provide a Mac-based IDE, or a Windows-based IDE cross-compiling for Mac OS X. They took the second approach, and with that, it is obvious that they should provide a remote debugging mechanism. It is a must-have feature for a cross-compiling tool, not a subsidiary feature.</p>
<p>Then we have “Cross-platform VCL-like component library. According to <a href="http://blogs.embarcadero.com/michaelrozlog/" target="_blank">Michael Rozlog</a> in his interview with <a href="http://www.delphi.org/" target="_blank">Jim McKeeth</a> for <a href="http://www.delphi.org/2010/02/michael-rozlog/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+DelphiDotOrg%2FPodCast+%28Podcast+at+Delphi.org%29" target="_blank">Delphi Podcast #37</a>, this cross-platform component library is a continuation of <a href="http://delphi.wikia.com/wiki/CLX" target="_blank">CLX</a> library which was a wrapper for <a href="http://qt.nokia.com/" target="_blank">Qt</a> GUI framework back in Delphi 6 and Delphi 7. There are no further details about this CLX based component framework except that again according to Michael Rozlog, most of old CLX based Delphi applications should be able to upgrade to this new framework easily, putting aside Unicode migration which is a different story.</p>
<p>The other feature which is supposed to be available in project Fulcrum is better integration with version control software, specially Subversion. It seems OTA is extended to provide a better version control support, and a SVN integration extension will be published with RAD Studio using the new OTA features. According to <a href="http://blogs.embarcadero.com/nickhodges/" target="_blank">Nick Hodges</a> in <a href="http://www.delphi.org/2010/05/40-nick-hodges-part-1/" target="_blank">Delphi Podcast #40</a>, this SVN extension is based on open-source <a href="http://sourceforge.net/projects/delphisvn/" target="_blank">DelphiSVN</a> project, and will be published as an open-source tool. The good thing about this new feature is that it will be integrated into History tab of code editor. It seems cool!</p>
<p>Another feature in project Fulcrum is supporting UML Sequence diagrams. That’s good, but well it’s been a while that I use Model Maker for modeling. I do admit that modeling support in RAD Studio 2010 is also very cool.</p>
<p>Next feature is Automatic unit test generation. This is another unclear feature. What is this feature supposed to do?  Automatic unit test generation is already integrated into Delphi using DUnit. What extra stuff is this feature supposed to bring to RAD Studio?</p>
<p>Again another unclear feature is “RESTful Server creation”. This is already provided in RAD Studio 2010, and it is not clear what other stuff regarding to RESTful servers are going to come with project Fulcrum. I think Embarcadero should had gone into more details with these two features in their roadmap.</p>
<p>And the last feature mentioned in project Fulcrum is supporting <a href="http://en.wikipedia.org/wiki/Cloud_computing" target="_blank">cloud computing</a> by providing <a href="http://en.wikipedia.org/wiki/Azure_Services_Platform" target="_blank">Microsoft Azure</a> integration, which is a nice addition to project Fulcrum.</p>
<h3>Project Wheelhouse</h3>
<p>Project Wheelhouse is supposed to bring full Linux support to RAD Studio. It will also complete Mac OS X support by providing server side support on both Linux and Mac OS X along with Windows.</p>
<h3>64-bit Compiler Preview</h3>
<p>64-bit support will not come to RAD Studio sooner than the first half of 2011. Even at that time, you will have a command-line only compiler preview. It is not clear how this compiler preview is going to be shipped; Are Embarcadero going to release a new Delphi version in 1st half of 2011? Or are they supposed to release this compiler preview as an update? As far as I know, they do not ship new features in updates, and usually RAD Studio is released once per year.</p>
<h3>Project Commodore</h3>
<p>I’m not going to spend that much time on project Commodore and Chromium, because they seem far away, and probably will see many changes in future. Project Commodore is supposed to bring full 64-bit compiler support. If you follow Delphi news, then you probably know project Commodore from previous Delphi roadmaps. It’s been a couple of years that Commodore is there on the roadmap. According to previous roadmaps, we should have had it in 2010, but now according to the current roadmap, it is at least 1.5 to 2 years away from us.</p>
<p>Better multi-core support, and Delphi Parallel Library are other features being worked on in project Commodore. I hope we see DPL sooner; because within 2 years a parallel library wouldn’t be considered as an advantage, but a must-have feature. So it wouldn’t be an advertising point for Embarcadero in 2012 to say, hey we also have this cool parallel library in our product!</p>
<p>Social Networking Integration is another feature for Commodore. Again this is a cool feature if delivered on time, otherwise it wouldn’t make any advantage for Delphi.</p>
<p>And the last feature mentioned for project Commodore is  Better Documentation. I hope they don’t mean people should wait at least 2 years to have better documentation in RAD Studio! It seems this is one of those features that we probably will see sooner, because as we saw in RAD Studio 2010 documentation, the documentation team is working hard to provide better documents in each release, and even with help updates.</p>
<h3>Project Chromium</h3>
<p>Well, this one looks so far away. This project is supposed to enable Delphi target other hardware platforms rather than Intel X86. Specially mobile platforms. It is also supposed to provide better support for other natural inputs (beside gesture and touch) like voice, video motion, and location (probably supporting GPS in mobile devices). These stuff are cool, but it is not clear or even estimated when such things are supposed to be provided.</p>
<p>Some other features in project Chromium are already being worked on, and we see their progress in each release; like improving look &amp; feel of VCL controls, and IDE, or more integration with database tools. I also expect OTA documentation to be available sooner than other features in this project, and I guess we will see it in the next release or the release after next release (This is just an assumption).</p>
<p>DataSnap (Adaptive) Application Server, and Extended RIA Approach are also mentioned in Project Chromium, but again they lack any detailed specifications.</p>
<p>So it was my take on the newly published document, called roadmap, by Embarcadero. If you want to make any estimated plan for your carrier with Delphi, this document is, to me, quiet useless, and doesn’t really give you any insight.</p>
<h3>Entry-level SKU</h3>
<p>As you might know, one of the recent hot debates in Delphi community was around Embarcadero providing a free or cheap entry-level SKU for RAD Studio. Michael Rozlog mentioned in his Delphi Podcast #37 that they are working on it, and probably we will see that in next major release which is project Fulcrum.</p>
<p>But according to Nick Hodges in Delphi Podcast #40, they haven’t made their mind yet, and it is not still clear how this entry-level SKU would be. But something is clear; a free version is not on the table anymore. They are just working on a cheap entry-level SKU which its specifications are still unclear. So we won’t see free Delphi anymore!</p>
<p>I hope at least they provide the command-line compiler free, and make it available in all three major platforms they are going to support (Windows, Linux, Mac OS X). This way hobbyists and students could use a free editor like <a href="http://sourceforge.net/projects/notepad-plus/" target="_blank">NotePad++</a> and write Delphi code on their preferred platform for free.</p>
<p>Regards</p>
]]></content:encoded>
			<wfw:commentRss>http://vcldeveloper.com/news/my-view-on-new-delphi-roadmap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 4/8 queries in 0.010 seconds using disk: basic
Object Caching 1168/1170 objects using disk: basic

Served from: vcldeveloper.com @ 2012-05-19 02:13:32 -->
