<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Andreano Lanusse | Technology and Software Development</title>
	
	<link>http://www.andreanolanusse.com/en</link>
	<description>Where Andreano Lanusse talk about technology, software development, programming techniques, databases, games and more through articles, tutorials and videos</description>
	<lastBuildDate>Thu, 23 May 2013 03:16:29 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/AndreanoLanusseEN" /><feedburner:info uri="andreanolanusseen" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Android Studio preview – The new Google IDE is out</title>
		<link>http://www.andreanolanusse.com/en/android-studio-preview-the-new-google-ide-is-out/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=android-studio-preview-the-new-google-ide-is-out</link>
		<comments>http://www.andreanolanusse.com/en/android-studio-preview-the-new-google-ide-is-out/#comments</comments>
		<pubDate>Thu, 23 May 2013 03:14:03 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Embarcadero]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=924</guid>
		<description><![CDATA[<p>Last week at Google I/O, Google announced Android Studio, their new Android development environment based on IntelliJ IDEA. Android Studio is FREE and can download the early preview version here. I just installed on my Mac, the IDE supports Windows and Linux as well. I played a little bit during the last 2 days and I&#8217;m [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>Last week at Google I/O, Google announced Android Studio, their new Android development environment based on IntelliJ IDEA.</p>
<p>Android Studio is FREE and can download the early preview version <a href="http://developer.android.com/sdk/installing/studio.html" target="_blank">here</a>. I just installed on my Mac, the IDE supports Windows and Linux as well. I played a little bit during the last 2 days and I&#8217;m very impressed.</p>
<p>Today&#8217;s Android development is supported in Eclipse through the <a href="http://developer.android.com/tools/sdk/eclipse-adt.html" target="_blank">ADT (Android Development Toolkit plugin)</a>, and every developer can take advantage of the Eclipse ecosystem. I have been using Eclipse for Android development, but certainly I see space for improvement and more specific features related to Android development.</p>
<p>Android Studio is built on top of IntelliJ&#8217;s community version and now with Google Engineer working on that , just imagine what they will be able to produce. I just played few hours with Android Studio, their source code editor ROCKS it goes beyond of features already applied in other IDEs, the Designer is awesome and gives you a view of your application not only for one device, but for many others include tablets. Also, you can easily import your projects from Eclipse in to Android Studio.</p>
<div id="attachment_925" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.andreanolanusse.com/en/wp-content/uploads/2011/07/Android-Studio.png"><img class="size-medium wp-image-925" alt="Android Studio" src="http://www.andreanolanusse.com/en/wp-content/uploads/2011/07/Android-Studio-300x187.png" width="300" height="187" /></a><p class="wp-caption-text">Android Studio multi device preview</p></div>
<p>Watch the following video and you will have a pretty good idea about what I&#8217;m talking about.</p>
<p><iframe src="http://www.youtube.com/embed/e0fXuyL0xVU" height="360" width="640" allowfullscreen="" frameborder="0"></iframe></p>
<p>That&#8217;s it for now.</p>

<div class="wp_rp_wrap  wp_rp_plain" id="wp_rp_first"><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-747" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/android-apps-connected-to-cbuilder-datasnap-server/" class="wp_rp_title">Android apps connected to C++Builder DataSnap Server</a> (8)</li><li data-position="1" data-poid="in-771" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/android-apps-connected-to-delphi-datasnap-server/" class="wp_rp_title">Android apps connected to Delphi DataSnap Server</a> (18)</li><li data-position="2" data-poid="in-899" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/android-findviewbyid-vs-injectview/" class="wp_rp_title">Android findViewById vs @InjectView</a> (1)</li><li data-position="3" data-poid="in-422" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/video-connecting-android-applications-with-datasnap-server-delphi-conference-brazil-2010/" class="wp_rp_title">Video: Connecting Android applications with DataSnap Server – Delphi Conference Brazil 2010</a> (3)</li><li data-position="4" data-poid="in-918" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/whats-new-in-delphi-xe4/" class="wp_rp_title">What&#8217;s new in Delphi XE4?</a> (5)</li><li data-position="5" data-poid="in-916" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/delphi-xe4-official-announcement-coming/" class="wp_rp_title">Delphi XE4 official announcement coming</a> (28)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/UyrFYmJItnc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/android-studio-preview-the-new-google-ide-is-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What’s new in Delphi XE4?</title>
		<link>http://www.andreanolanusse.com/en/whats-new-in-delphi-xe4/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=whats-new-in-delphi-xe4</link>
		<comments>http://www.andreanolanusse.com/en/whats-new-in-delphi-xe4/#comments</comments>
		<pubDate>Mon, 22 Apr 2013 14:16:40 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[FireMonkey]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[Embarcadero]]></category>
		<category><![CDATA[IPhone]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=918</guid>
		<description><![CDATA[<p>This time you didn&#8217;t have to way a full year to see a new Delphi release, 8 months after XE3 release Delphi XE4 is out. iOS development is the major topic of course and bring the second version of FireMonkey to iOS, a lot of expectation on this topic specially after XE2. Also there is [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>This time you didn&#8217;t have to way a full year to see a new Delphi release, 8 months after XE3 release Delphi XE4 is out.</p>
<p>iOS development is the major topic of course and bring the second version of FireMonkey to iOS, a lot of expectation on this topic specially after XE2.</p>
<p>Also there is a bunch of new stuffs to talk about, like:</p>
<ul>
<li>New Delphi compiler for mobile platform, which brings several changes in the language and set a future path to the Delphi language, obvious these changes will affect desktop development in the future and you need to start learning about that now.</li>
<li>The SQLite and InterBase support for iOS</li>
<li>ClientDataSet available on iOS</li>
<li>Several FireMonkey changes for iOS, componentes, new classes</li>
<li>Etc..</li>
</ul>
<p>RAD Studio XE4 now includes only Delphi, C++Builder and HTML5Builder. Delphi Prism is no longer part of RAD Studio, the name is dead and from now you have to refer to Oxygene from RemObjects. You can check the official communication from RemObjects <a href="http://blogs.remobjects.com/blogs/mh/2013/04/17/p5822" target="_blank">here</a>, where Marc Hoffman provide more details about the future related to .NET development with Oxygene (old Prism) and their support to iOS and Android development.</p>
<p>Trial is already available <a href="http://www.embarcadero.com/products/delphi/downloads" target="_blank">here</a> or if you prefer download the full Delphi and C++Builder ISO <a href="http://altd.embarcadero.com/download/radstudio/xe4/delphicbuilder_xe4_win.iso" target="_blank">here</a>.</p>
<p>The Delphi XE4 <a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4" target="_blank">documentation</a> has a extensive list of What&#8217;s new in Delphi and C++Builder XE4, below the table of content:</p>
<ul>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Getting_Started_with_iOS_Application_Development_.28iOS_Tutorials.29">1 Getting Started with iOS Application Development (iOS Tutorials)</a>
<ul>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Setting_Up_Your_iOS_Development_Environment">1.1 Setting Up Your iOS Development Environment</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Using_Basic_iOS_User_Interface_Elements">1.2 Using Basic iOS User Interface Elements</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Using_iOS_Device_Functionality">1.3 Using iOS Device Functionality</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Accessing_a_Database">1.4 Accessing a Database</a></li>
</ul>
</li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#FireMonkey_Changes_for_XE4">2 FireMonkey Changes for XE4</a>
<ul>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Components_for_iOS">2.1 Components for iOS</a>
<ul>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Camera_for_iOS">2.1.1 Camera for iOS</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Magnifier_Glass">2.1.2 Magnifier Glass</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Phone_Dialer_for_iOS">2.1.3 Phone Dialer for iOS</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Pickers_for_iOS">2.1.4 Pickers for iOS</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Text_Editing_in_iOS">2.1.5 Text Editing in iOS</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Virtual_Keyboard_for_iOS">2.1.6 Virtual Keyboard for iOS</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#WebBrowser_for_iOS">2.1.7 WebBrowser for iOS</a></li>
</ul>
</li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#FireMonkey_Frames">2.2 FireMonkey Frames</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Touch_and_Gestures_for_iOS">2.3 Touch and Gestures for iOS</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#New_TListView_Component.2C_Compared_to_Existing_TListBox_Component">2.4 New TListView Component, Compared to Existing TListBox Component</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Media_Actions_for_iOS">2.5 Media Actions for iOS</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Native_Styles_for_iOS">2.6 Native Styles for iOS</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Using_Styles_in_XE4">2.7 Using Styles in XE4</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Mac_OS_X_Fullscreen_Mode">2.8 Mac OS X Fullscreen Mode</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Sensors">2.9 Sensors</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Text_Layout_and_Text_Service_Enhancements">2.10 Text Layout and Text Service Enhancements</a>
<ul>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Text_Layout">2.10.1 Text Layout</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Text_Service">2.10.2 Text Service</a></li>
</ul>
</li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#FireMonkey_Services">2.11 FireMonkey Services</a>
<ul>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Platform_Services">2.11.1 Platform Services</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Notification_Center_for_iOS">2.11.2 Notification Center for iOS</a></li>
</ul>
</li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Margins_and_Padding_for_FireMonkey_Controls">2.12 Margins and Padding for FireMonkey Controls</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#New_FireMonkey_Units">2.13 New FireMonkey Units</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Refactored_FireMonkey_Classes">2.14 Refactored FireMonkey Classes</a>
<ul>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Caret_Property_Now_Published">2.14.1 Caret Property Now Published</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#HScrollBar_and_VScrollBar_Now_Protected">2.14.2 HScrollBar and VScrollBar Now Protected</a></li>
</ul>
</li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Improvements_in_Action_List_editor">2.15 Improvements in Action List editor</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#FireMonkey_Advanced_Platform-Independent_Scrolling_Engine">2.16 FireMonkey Advanced Platform-Independent Scrolling Engine</a></li>
</ul>
</li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Platform_Assistant_.28PAServer.29_Changes_for_XE4">3 Platform Assistant (PAServer) Changes for XE4</a>
<ul>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Installer_and_Name_Changes_on_the_Mac">3.1 Installer and Name Changes on the Mac</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Help_Reorganized_for_PAServer">3.2 Help Reorganized for PAServer</a></li>
</ul>
</li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Delphi_Compiler_Changes_for_XE4">4 Delphi Compiler Changes for XE4</a>
<ul>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Two_New_Delphi_Mobile_Compilers_for_iOS">4.1 Two New Delphi Mobile Compilers for iOS</a>
<ul>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Differences_between_Delphi_Desktop_Compilers_and_Delphi_Mobile_Compilers">4.1.1 Differences between Delphi Desktop Compilers and Delphi Mobile Compilers</a></li>
</ul>
</li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#New_Delphi_Compiler_Conditionals">4.2 New Delphi Compiler Conditionals</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#New_Delphi_Compiler_Directives">4.3 New Delphi Compiler Directives</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#New_Delphi_Compiler_Attributes">4.4 New Delphi Compiler Attributes</a></li>
</ul>
</li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#IDE_Changes_for_XE4">5 IDE Changes for XE4</a>
<ul>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#New_FireMonkey_Mobile_Wizard">5.1 New FireMonkey Mobile Wizard</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#iOS_Target_Platforms_Supported">5.2 iOS Target Platforms Supported</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#New_Mobile_Form_Designer">5.3 New Mobile Form Designer</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Connection_Profiles_and_SDKs_.28Replacing_Remote_Profiles.29">5.4 Connection Profiles and SDKs (Replacing Remote Profiles)</a>
<ul>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#API_Implementation_of_Connection_Profiles_and_SDKs">5.4.1 API Implementation of Connection Profiles and SDKs</a></li>
</ul>
</li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#IDE_and_Project_Options_Changes">5.5 IDE and Project Options Changes</a>
<ul>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Form_Designer">5.5.1 Form Designer</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Application_Options">5.5.2 Application Options</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Version_Info">5.5.3 Version Info</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Provisioning">5.5.4 Provisioning</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Delphi_Compiler_Project_Options">5.5.5 Delphi Compiler Project Options</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#C.2B.2B_Compiler_Changes_for_XE4">6 C++ Compiler Changes for XE4</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Database_Changes_for_XE4">7 Database Changes for XE4</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#DataSnap_Changes_for_XE4">8 DataSnap Changes for XE4</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#LiveBindings_Changes_for_XE4">9 LiveBindings Changes for XE4</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Run-Time_Library_.28RTL.29_Changes_for_XE4">10 Run-Time Library (RTL) Changes for XE4</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Debugger_Changes_for_XE4">11 Debugger Changes for XE4</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Application_Samples_Changes_for_XE4">12 Application Samples Changes for XE4</a>
<ul>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#New_FireMonkey_iOS_Samples">12.1 New FireMonkey iOS Samples</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#New_FireMonkey_iOS_Code_Snippets">12.2 New FireMonkey iOS Code Snippets</a></li>
</ul>
</li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Online_Help_Changes_for_XE4">13 Online Help Changes for XE4</a>
<ul>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Checkbox_to_Display_or_Hide_Inherited_Members">13.1 Checkbox to Display or Hide Inherited Members</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#PAServer_Help_Reorganized">13.2 PAServer Help Reorganized</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Some_Notable_New_Help_Topics">13.3 Some Notable New Help Topics</a></li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#Some_Notable_New_Code_Examples">13.4 Some Notable New Code Examples</a></li>
</ul>
</li>
<li><a href="http://docwiki.embarcadero.com/RADStudio/XE4/en/What%27s_New_in_Delphi_and_C%2B%2BBuilder_XE4#See_Also">14 See Also</a></li>
</ul>
<p>That&#8217;s it for now.</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-916" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/delphi-xe4-official-announcement-coming/" class="wp_rp_title">Delphi XE4 official announcement coming</a> (28)</li><li data-position="1" data-poid="in-818" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/" class="wp_rp_title">TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader</a> (1)</li><li data-position="2" data-poid="in-723" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/connecting-to-postgresql-through-dbexpress-odbc-driver/" class="wp_rp_title">Connecting to PostgreSQL through dbExpress ODBC driver</a> (9)</li><li data-position="3" data-poid="in-681" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/video-delphi-xe2-and-firemonkey-app-on-windows-mac-and-ios/" class="wp_rp_title">Video: Delphi XE2 and FireMonkey app on Windows, Mac and iOS</a> (44)</li><li data-position="4" data-poid="in-906" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/what-does-anydac-acquisition-by-embarcadero-mean-for-delphi-and-cbuilder-developers/" class="wp_rp_title">What does AnyDAC acquisition by Embarcadero mean for Delphi and C++Builder Developers?</a> (7)</li><li data-position="5" data-poid="in-671" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/a-little-bit-about-firemonkey-and-delphi-xe2/" class="wp_rp_title">A little bit about FireMonkey and Delphi XE2</a> (61)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/giSI1TEvntM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/whats-new-in-delphi-xe4/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Delphi XE4 official announcement coming</title>
		<link>http://www.andreanolanusse.com/en/delphi-xe4-official-announcement-coming/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=delphi-xe4-official-announcement-coming</link>
		<comments>http://www.andreanolanusse.com/en/delphi-xe4-official-announcement-coming/#comments</comments>
		<pubDate>Wed, 17 Apr 2013 04:10:25 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Embarcadero]]></category>
		<category><![CDATA[FireMonkey]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=916</guid>
		<description><![CDATA[<p>In general you expect a new version of Delphi around August, this year is going to be different, Delphi XE4 is coming next week. I just heard that next week Embarcadero is going to announce Delphi XE4, which is part of RAD Studio XE4 and will include C++Builder XE4 and HTML5 Builder. An important change initiated last [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>In general you expect a new version of Delphi around August, this year is going to be different, Delphi XE4 is coming next week.</p>
<p>I just heard that next week Embarcadero is going to announce Delphi XE4, which is part of RAD Studio XE4 and will include C++Builder XE4 and HTML5 Builder.</p>
<p>An important change initiated last year related to Prism (Delphi for .NET) will affect RAD Studio this year, I think you won&#8217;t see Prism included in RAD Studio, of course <a href="http://blogs.remobjects.com/blogs/mh/2013/04/17/p5822" target="_blank">REM Objects</a> continue to develop their compiler and integration with Visual Studio, so you will have order directly from them.</p>
<h2>What&#8217;s new in Delphi XE4?</h2>
<p>Delphi XE4 will bring Embarcadero&#8217;s new ARM compiler and will allow Delphi developers to compile FireMonkey apps to iOS devices at this point. The project around this new compiler started years ago, I had the opportunity to talk about this project with many Delphi developers, so the new compiler is really new and a beginning that will allow to move Delphi language much easier to other platforms, as you already heard Embarcadero is already promising Android support and it suppose to come soon.</p>
<p>The iOS support is going to be better them what you saw in XE2 and you are expecting something way better. A very important point is the focus on iOS, trying to make everything you use for Windows available on iOS is not the way to go, so in XE4 you will see what is specific for iOS when developing for iOS and this is good.</p>
<p>Of course Embarcadero will promote FireDAC as a new feature in XE4, even it came recently on XE3 still a good point to talk about this, since FireDAC is way better them dbExpress. I blogged about that recently and you can read <a href="http://www.andreanolanusse.com/en/what-does-anydac-acquisition-by-embarcadero-mean-for-delphi-and-cbuilder-developers/" target="_blank">here</a>.</p>
<p>I believe you will see InterBase for iOS on this release, even you already have SQLite on iOS devices I see a lot of space for InterBase on iOS, especially for developers that need protect their data on mobile devices.</p>
<h2>Upgrade and pricing</h2>
<p>Embarcadero will release all the SKUs and upgrade paths. Early this year they mention about to release iOS support as add-on, maybe you will be able to buy just this piece, let&#8217;s wait and see.</p>
<p>There is a <a href="http://forms.embarcadero.com/forms/AMUSCA1304RADStudioLaunchWeb4-24" target="_blank">webinar</a> scheduled for next Wednesday April 24th and it will show this new release.</p>
<p><del>I will be back in the following days and will share my comments about this release.</del></p>
<p>I just published an article covering What&#8217;s new in Delphi XE4 after the official launch, you can find that <a href="http://www.andreanolanusse.com/en/whats-new-in-delphi-xe4/"><strong>here</strong></a>.</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-918" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/whats-new-in-delphi-xe4/" class="wp_rp_title">What&#8217;s new in Delphi XE4?</a> (5)</li><li data-position="1" data-poid="in-681" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/video-delphi-xe2-and-firemonkey-app-on-windows-mac-and-ios/" class="wp_rp_title">Video: Delphi XE2 and FireMonkey app on Windows, Mac and iOS</a> (44)</li><li data-position="2" data-poid="in-671" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/a-little-bit-about-firemonkey-and-delphi-xe2/" class="wp_rp_title">A little bit about FireMonkey and Delphi XE2</a> (61)</li><li data-position="3" data-poid="in-818" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/" class="wp_rp_title">TDBXJsonTools copy/convert data between TDataSet &#8211; TJSONObject &#8211; DBXReader</a> (1)</li><li data-position="4" data-poid="in-906" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/what-does-anydac-acquisition-by-embarcadero-mean-for-delphi-and-cbuilder-developers/" class="wp_rp_title">What does AnyDAC acquisition by Embarcadero mean for Delphi and C++Builder Developers?</a> (7)</li><li data-position="5" data-poid="in-815" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/firemonkey-3d-text-editor-delphi-source-code-available/" class="wp_rp_title">FireMonkey 3D Text Editor Delphi source code available</a> (6)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/SJ9CXrPY-DE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/delphi-xe4-official-announcement-coming/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>What does AnyDAC acquisition by Embarcadero mean for Delphi and C++Builder Developers?</title>
		<link>http://www.andreanolanusse.com/en/what-does-anydac-acquisition-by-embarcadero-mean-for-delphi-and-cbuilder-developers/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=what-does-anydac-acquisition-by-embarcadero-mean-for-delphi-and-cbuilder-developers</link>
		<comments>http://www.andreanolanusse.com/en/what-does-anydac-acquisition-by-embarcadero-mean-for-delphi-and-cbuilder-developers/#comments</comments>
		<pubDate>Fri, 08 Feb 2013 05:56:25 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Embarcadero]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=906</guid>
		<description><![CDATA[<p>Finally the day has come, Embarcadero acquired AnyDAC and there is a lot to talk about, early last year I invested a lot of time evaluating AnyDAC and know you know why &#8211; I was very impressive with the amount of features,  AnyDAC is everything dbExpress tried to be and never reached. The reason I [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>Finally the day has come, Embarcadero acquired AnyDAC and there is a lot to talk about, early last year I invested a lot of time evaluating AnyDAC and know you know why <img src='http://www.andreanolanusse.com/en/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8211; I was very impressive with the amount of features,  AnyDAC is everything dbExpress tried to be and never reached.</p>
<p>The reason I say that it&#8217;s because AnyDAC really allows developers to target multiples database without the workarounds required by  dbExpress, like: Field Mapping when you persist the TFields. For long time AnyDAC allowed developers that use Delphi/C++Builder Professional edition to connect their application to Enterprise databases like Oracle, SQL Server, Sybase, Informix and others, something that was only possible through Enterprise and Architect edition, and much more.</p>
<p>Beyond that, there is a lot of specific database features supported by AnyDAC, which I consider very helpful in any database development, here some examples per database:</p>
<ul>
<li>For all databases
<ul>
<li>Automatic Connection Recovery</li>
<li>Unified DB Events Support</li>
<li>Simplified architecture, it means no more Query + ClientDataSet + Provider just for a bi-directional cursor</li>
<li>Much better performance when compared with dbExpress</li>
<li>TADMemTable &#8211; in memory dataset, faster than TClientDataSet</li>
<li>Much easier to migrate BDE applications to AnyDAC than the traditional dbExpress architecture</li>
</ul>
</li>
<li><span style="line-height: 13px;">Oracle</span>
<ul>
<li>SELECT FOR UPDATE clause &#8211; no more workaround doing UPDATE just to lock the record</li>
<li>Query execution aborting &#8211; we always need that right?</li>
<li>ROWID columns for fast data editing and refreshing</li>
<li>RETURNING clause for fast data refreshing &#8211; no more select after the update to get a new value generated by trigger</li>
<li>and more&#8230;</li>
</ul>
</li>
<li>Firebird
<ul>
<li>RETURNING clause for fast data refreshing</li>
<li>Trusted authentication</li>
<li>DB services &#8211; backup, restore, validate, security, etc</li>
<li>Query execution aborting</li>
</ul>
</li>
<li>PostgreSQL
<ul>
<li>Yep, now you can connect natively with PostgreSQL</li>
<li>and more&#8230;</li>
</ul>
</li>
<li>SQL Server
<ul>
<li>Batch commands with multiple result sets &#8211; Now you can use that and improve your app performance</li>
<li>Query execution aborting</li>
<li>and more&#8230;</li>
</ul>
</li>
<li>MySQL
<ul>
<li>AUTO_INCREMENT columns and retrieving of last inserted value.</li>
</ul>
</li>
<li>Drivers for several databases on Windows, Mac and iOS</li>
</ul>
<p>This is a small list of interesting things on AnyDAC, you can find more <strong><a href="http://www.da-soft.com/anydac/personalized-api.html">here</a></strong>.</p>
<p>AnyDAC is a step forward and worth the effort to migrate from dbExpress to AnyDAC, there are lot of feature needed by Delphi and C++Builder developers, many of these features has been requested for a long time and you will have when using AnyDAC.</p>
<p>You may ask what is going to happen with dbExpress? BDE is dead, but still around <img src='http://www.andreanolanusse.com/en/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , dbExpress is not dead and I don&#8217;t think will die soon, but there is no reason to keep two database access technology since AnyDAC is way better than dbExpress.</p>
<p>AnyDAC trial is available for download <strong><a href="http://www.da-soft.com/anydac/download.html" target="_blank">here</a></strong>.</p>
<p>&nbsp;</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-891" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/survey-2013-help-to-define-the-content-for-my-blog-in-2013/" class="wp_rp_title">Survey 2013 &#8211; Help to define the content for my blog in 2013</a> (1)</li><li data-position="1" data-poid="in-918" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/whats-new-in-delphi-xe4/" class="wp_rp_title">What&#8217;s new in Delphi XE4?</a> (5)</li><li data-position="2" data-poid="in-857" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/controversial-changes-in-the-eula-for-delphi-xe3-and-cbuilder-xe3/" class="wp_rp_title">Controversial changes in the EULA for Delphi XE3 and C++Builder XE3</a> (17)</li><li data-position="3" data-poid="in-501" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/hotfix-1-for-delphi-xe-cbuilder-xe-and-rad-studio-xe-available/" class="wp_rp_title">Hotfix 1 for Delphi XE, C++Builder XE and RAD Studio XE available</a> (0)</li><li data-position="4" data-poid="in-499" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/caching-data-on-datasnap-server/" class="wp_rp_title">Caching data on DataSnap Server</a> (5)</li><li data-position="5" data-poid="in-477" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/delphi-xe-and-cbuilder-xe-starter-editions-officially-announced/" class="wp_rp_title">Delphi XE and C++Builder XE Starter Editions – Officially announced</a> (18)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/tGlZNzHEWJA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/what-does-anydac-acquisition-by-embarcadero-mean-for-delphi-and-cbuilder-developers/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Update 2 for Delphi XE3 and C++Builder XE3</title>
		<link>http://www.andreanolanusse.com/en/update-2-for-delphi-xe3-and-cbuilder-xe3/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=update-2-for-delphi-xe3-and-cbuilder-xe3</link>
		<comments>http://www.andreanolanusse.com/en/update-2-for-delphi-xe3-and-cbuilder-xe3/#comments</comments>
		<pubDate>Fri, 25 Jan 2013 02:35:09 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Embarcadero]]></category>
		<category><![CDATA[HotFix]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=904</guid>
		<description><![CDATA[<p>Update 2 for Delphi XE3 and C++Builder XE3 is available, the majority of bugs fixed on this update are related with C++ 64-bit compiler, the Update 2 bug fix list is available here. If you have a previous version of XE3 installed, you must uninstall it. In case you installed Platform Assistant before, you also [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>Update 2 for Delphi XE3 and C++Builder XE3 is available, the majority of bugs fixed on this update are related with C++ 64-bit compiler, the Update 2 bug fix list is available <a href="http://edn.embarcadero.com/article/42863" target="_blank">here</a>.</p>
<p>If you have a previous version of XE3 installed, you must uninstall it. In case you installed Platform Assistant before, you also need to uninstall it.</p>
<p>Update 2 is available for download on the registered user page, visit the following links:</p>
<ul>
<li>Delphi XE3 Update 2 <a href="http://cc.embarcadero.com/reg/delphi" target="_blank">download</a></li>
<li>C++Builder XE3 Update 2 <a href="http://cc.embarcadero.com/reg/c_builder" target="_blank">download</a></li>
<li>RAD Studio XE3 Update 2 <a href="http://cc.embarcadero.com/reg/rad_studio" target="_blank">download</a></li>
</ul>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-720" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/update-2-for-delphi-xe2-cbuilder-xe2-and-radphp-xe2-available/" class="wp_rp_title">Update 2 for Delphi XE2, C++Builder XE2 and RadPHP XE2 available</a> (3)</li><li data-position="1" data-poid="in-399" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/update-1-for-delphi-xe-and-cbuilder-xe-now-available/" class="wp_rp_title">Update 1 for Delphi XE and C++Builder XE now available</a> (2)</li><li data-position="2" data-poid="in-300" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/rad-studio-2010-hotfix-2-available/" class="wp_rp_title">RAD Studio 2010 Hotfix 2 available</a> (4)</li><li data-position="3" data-poid="in-504" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/hotfix-2-and-help-update-2-for-delphi-xe-cbuilder-xe-and-rad-studio-xe-available/" class="wp_rp_title">Hotfix 2 and Help Update 2 for Delphi XE, C++Builder XE and RAD Studio XE available</a> (1)</li><li data-position="4" data-poid="in-501" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/hotfix-1-for-delphi-xe-cbuilder-xe-and-rad-studio-xe-available/" class="wp_rp_title">Hotfix 1 for Delphi XE, C++Builder XE and RAD Studio XE available</a> (0)</li><li data-position="5" data-poid="in-812" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/" class="wp_rp_title">Update 4 for Delphi XE2 and C++Builder XE2 is now available</a> (8)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/6lZlqE_HOi0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/update-2-for-delphi-xe3-and-cbuilder-xe3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Android findViewById vs @InjectView</title>
		<link>http://www.andreanolanusse.com/en/android-findviewbyid-vs-injectview/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=android-findviewbyid-vs-injectview</link>
		<comments>http://www.andreanolanusse.com/en/android-findviewbyid-vs-injectview/#comments</comments>
		<pubDate>Wed, 02 Jan 2013 05:16:38 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=899</guid>
		<description><![CDATA[<p>When developing Android apps to obtain a reference of view objects represented on your layout you use findViewById. I personally consider findViewById inconvenient, as your start using you tend to repeat the same code several times, it add more lines of code, make difficulty to read, maintain, etc. However there is a solution for that [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>When developing Android apps to obtain a reference of view objects represented on your layout you use findViewById. I personally consider findViewById inconvenient, as your start using you tend to repeat the same code several times, it add more lines of code, make difficulty to read, maintain, etc. However there is a solution for that called @InjectView and it&#8217;s part of  <a href="http://code.google.com/p/roboguice/" target="_blank">RoboGuice</a> and eliminate this issue and make your code cleaner, smaller and replace the use of findViewById, let&#8217;s see how it works.</p>
<p>Let&#8217;s assume you defined the following edit text:</p>
<pre class="brush: xml">
<EditText android:text="First Name" 
    android:id="@+id/firstnameEditText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
</pre>
<p>We would use the following code to access the edit text using findViewById.</p>
<pre class="brush: java">
class Main extends Activity { 

    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main);
        EditText firstname = null;
        firstname = (EditText) findViewById(R.id.fistnameEditText);
        firstname.setText( "My first name is Barack"); 
    } 
}
</pre>
<p>In order to use @InjectView we have to extend from RoboActivity class (download the RoboGuice from <a href="http://code.google.com/p/roboguice/source/checkout" target="_blank">here</a>), we just need to declare our class fields using @InjectView, set each field to the correspondent view object declared on our R.Java, the code will look like this.</p>
<pre class="brush: java">
class Main extends RoboActivity { 
     @InjectView (R.id.firstnameEditText)      EditText firstname; 

    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main);
        firstname.setText( "My first name is Barack" ); 
    } 
}
</pre>
<p>In layouts where we have multiple objects, it will became more visible the benefits of replacing findViewById per @InjectView, check out the following code where I add some extra controls to my layout.</p>
<pre class="brush: java">
class Main extends RoboActivity { 
     @InjectView (R.id.firstnameEditText)  EditText firstname; 
     @InjectView (R.id.lastnameEditText)   EditText lastname; 
     @InjectView (R.id.photoImage)         ImageView photo; 

    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main);
        firstname.setText( "My first name is Barack" ); 
        lastname.setText( "My last name is Obama" ); 
        photo.setImageBitmap( null ); 
    } 
}
</pre>
<p>Hope this small tip can help you.</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-771" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/android-apps-connected-to-delphi-datasnap-server/" class="wp_rp_title">Android apps connected to Delphi DataSnap Server</a> (18)</li><li data-position="1" data-poid="in-747" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/android-apps-connected-to-cbuilder-datasnap-server/" class="wp_rp_title">Android apps connected to C++Builder DataSnap Server</a> (8)</li><li data-position="2" data-poid="in-924" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/android-studio-preview-the-new-google-ide-is-out/" class="wp_rp_title">Android Studio preview &#8211; The new Google IDE is out</a> (0)</li><li data-position="3" data-poid="in-422" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/video-connecting-android-applications-with-datasnap-server-delphi-conference-brazil-2010/" class="wp_rp_title">Video: Connecting Android applications with DataSnap Server – Delphi Conference Brazil 2010</a> (3)</li><li data-position="4" data-poid="in-409" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/registering-datasnap-server-class-in-runtime-with-delphi/" class="wp_rp_title">Registering DataSnap Server Class in runtime with Delphi</a> (6)</li><li data-position="5" data-poid="in-554" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/delphi-developer-certification-tips-2/" class="wp_rp_title">Delphi Developer Certification Tips #2</a> (2)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/0gkvE6Co448" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/android-findviewbyid-vs-injectview/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Thoughts for developers who want to get ahead</title>
		<link>http://www.andreanolanusse.com/en/thoughts-for-developers-who-want-to-get-ahead/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=thoughts-for-developers-who-want-to-get-ahead</link>
		<comments>http://www.andreanolanusse.com/en/thoughts-for-developers-who-want-to-get-ahead/#comments</comments>
		<pubDate>Wed, 02 Jan 2013 03:30:23 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=897</guid>
		<description><![CDATA[<p>I just read the article &#8220;4 Hard Questions For Enterprise Developers Who Want To Get Ahead&#8221;, which was written by Adam Seligman Vice President of Developer Relations at Salesforce.com. The article is great and I recommend, reading the four questions raised by Adam will help you reflect on your work as a developer. What I Am [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>I just read the article <a href="http://readwrite.com/2012/12/31/4-hard-questions-for-enterprise-developers-who-want-to-get-ahead" target="_blank">&#8220;4 Hard Questions For Enterprise Developers Who Want To Get Ahead&#8221;</a>, which was written by Adam Seligman Vice President of Developer Relations at Salesforce.com.</p>
<p>The article is great and I recommend, reading the four questions raised by Adam will help you reflect on your work as a developer.</p>
<ol>
<li>What I Am Working With?</li>
<li>How Often Do I Put Into Production Code?</li>
<li>The laggard Is My Organization?</li>
<li>Do I Have A 2002 Or 2012 A Resume?</li>
</ol>
<p>These questions can help you find new challenges on your current job, or even start looking for new challenges elsewhere, not only that but also help you become a better developer.</p>
<p>We just started a new year, now could be a good time to think about what you wanna for yourself and then start setting new goals.</p>
<p>Happy New Year to every one!!!<a href="http://www.andreanolanusse.com/en/wp-content/uploads/2013/01/f1-2010.jpg"><br />
</a></p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-891" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/survey-2013-help-to-define-the-content-for-my-blog-in-2013/" class="wp_rp_title">Survey 2013 &#8211; Help to define the content for my blog in 2013</a> (1)</li><li data-position="1" data-poid="in-875" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/rally-for-impact-call-for-engineers-to-collaborate-and-solve-global-social-problems/" class="wp_rp_title">Rally For Impact: Call for Engineers to Collaborate and Solve Global Social Problems</a> (2)</li><li data-position="2" data-poid="in-1" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/hello-world/" class="wp_rp_title">Beginning my personal blog</a> (1)</li><li data-position="3" data-poid="in-519" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/google-videos-going-offline-time-to-migrate-to-youtube/" class="wp_rp_title">Google Videos going Offline &#8211; time to migrate to YouTube</a> (1)</li><li data-position="4" data-poid="in-3" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/why-i-chose-wordpress-as-blog-tool/" class="wp_rp_title">Why I chose WordPress as Blog Tool</a> (0)</li><li data-position="5" data-poid="in-103" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/review-pink-the-funhouse-concert-was-great/" class="wp_rp_title">Review: Pink The Funhouse Concert was GREAT</a> (0)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/2Lhvq3mil8c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/thoughts-for-developers-who-want-to-get-ahead/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Survey 2013 – Help to define the content for my blog in 2013</title>
		<link>http://www.andreanolanusse.com/en/survey-2013-help-to-define-the-content-for-my-blog-in-2013/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=survey-2013-help-to-define-the-content-for-my-blog-in-2013</link>
		<comments>http://www.andreanolanusse.com/en/survey-2013-help-to-define-the-content-for-my-blog-in-2013/#comments</comments>
		<pubDate>Fri, 28 Dec 2012 07:05:55 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Embarcadero]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=891</guid>
		<description><![CDATA[<p>Dear blog readers, I prepared a short survey and I will appreciate if you can invest 5 minutes of your valuable time answering few questions. My goal with this survey is to learn more about your software development plans for 2013 and identify potential and useful topics to all of you. Also validate some content [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>Dear blog readers,</p>
<p>I prepared a short survey and I will appreciate if you can invest 5 minutes of your valuable time answering few questions.</p>
<p>My goal with this survey is to learn more about your software development plans for 2013 and identify potential and useful topics to all of you. Also validate some content ideas I have for 2013.</p>
<p>The survey is pretty straight forward, take less than 5 minutes and is very important to help to define the blog content for 2013.</p>
<p>Thank you,<br />
Andreano Lanusse</p>
<p>PS: You can also access the survey directly from this link <a href="http://bit.ly/peal2013en">http://bit.ly/peal2013en</a></p>
<p><iframe src="https://docs.google.com/spreadsheet/embeddedform?formkey=dEpLeC1jSHg3WElaMTY2YWY5MjlPNkE6MA" height="2525" width="520" frameborder="0" marginwidth="0" marginheight="0"></iframe></p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-906" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/what-does-anydac-acquisition-by-embarcadero-mean-for-delphi-and-cbuilder-developers/" class="wp_rp_title">What does AnyDAC acquisition by Embarcadero mean for Delphi and C++Builder Developers?</a> (7)</li><li data-position="1" data-poid="in-918" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/whats-new-in-delphi-xe4/" class="wp_rp_title">What&#8217;s new in Delphi XE4?</a> (5)</li><li data-position="2" data-poid="in-846" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/agile-the-next-chapter/" class="wp_rp_title">Agile the next chapter</a> (4)</li><li data-position="3" data-poid="in-897" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/thoughts-for-developers-who-want-to-get-ahead/" class="wp_rp_title">Thoughts for developers who want to get ahead</a> (0)</li><li data-position="4" data-poid="in-916" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/delphi-xe4-official-announcement-coming/" class="wp_rp_title">Delphi XE4 official announcement coming</a> (28)</li><li data-position="5" data-poid="in-519" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/google-videos-going-offline-time-to-migrate-to-youtube/" class="wp_rp_title">Google Videos going Offline &#8211; time to migrate to YouTube</a> (1)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/h9BY5BoNl-I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/survey-2013-help-to-define-the-content-for-my-blog-in-2013/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Grails Web Application Framework</title>
		<link>http://www.andreanolanusse.com/en/grails-web-application-framework/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=grails-web-application-framework</link>
		<comments>http://www.andreanolanusse.com/en/grails-web-application-framework/#comments</comments>
		<pubDate>Sat, 01 Dec 2012 05:38:42 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=885</guid>
		<description><![CDATA[<p>I have been evaluating some frameworks for web development and considering what I found so far Grails got my attention. Grails is an Open Source framework that runs on JVM, use Groovy as dynamic language and was inspired on Ruby on Rails and other frameworks. What I really like on this framework is the simplicity [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>I have been evaluating some frameworks for web development and considering what I found so far <strong><a href="http://www.grails.org/" target="_blank">Grails</a></strong> got my attention. Grails is an Open Source framework that runs on JVM, use Groovy as dynamic language and was inspired on Ruby on Rails and other frameworks.</p>
<p>What I really like on this framework is the simplicity to create Web UI based on domain model, and data persist through a ORM.</p>
<p>Below a short video introduction to Grails, watch this video and you can have some initial idea about how it works.</p>
<p>&nbsp;<br />
<iframe src="http://app.sliderocket.com:80/app/fullplayer.aspx?id=A0F94305-C30B-9EE9-2A1D-EB45AFEB183C" width="400" height="326" scrolling=no frameBorder="1" style="border:1px solid #333333;border-bottom-style:none"></iframe></p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-33" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/how-to-configure-delphi-2010-to-look-work-and-feel-like-delphi-7/" class="wp_rp_title">Video: How to configure Delphi 2010 to look, work, and feel like Delphi 7</a> (1)</li><li data-position="1" data-poid="in-308" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/parameterized-queries-with-dbexpress-dbx-framework/" class="wp_rp_title">Parameterized queries with dbExpress (DBX) Framework</a> (7)</li><li data-position="2" data-poid="in-328" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/building-iphone-apps-with-delphi-prism-xe/" class="wp_rp_title">Building iPhone Apps with Delphi Prism XE</a> (18)</li><li data-position="3" data-poid="in-493" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/copying-data-from-clientdataset-to-dbxreader/" class="wp_rp_title">Copying data from ClientDataSet to DBXReader</a> (13)</li><li data-position="4" data-poid="in-35" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/new-dbexpress-driver-for-firebird-in-delphi-2010-and-cbuilder-2010/" class="wp_rp_title">Video: New dbExpress driver for Firebird in Delphi 2010 and C++Builder 2010</a> (0)</li><li data-position="5" data-poid="in-115" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/datasnap-2010-sending-and-receiving-objects/" class="wp_rp_title">DataSnap 2010 – sending and receiving objects</a> (5)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/30AThyu8zwc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/grails-web-application-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shell Extension for Windows 32-bit and 64-bit with Delphi XE2 or XE3</title>
		<link>http://www.andreanolanusse.com/en/shell-extension-for-windows-32-bit-and-64-bit-with-delphi-xe2/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=shell-extension-for-windows-32-bit-and-64-bit-with-delphi-xe2</link>
		<comments>http://www.andreanolanusse.com/en/shell-extension-for-windows-32-bit-and-64-bit-with-delphi-xe2/#comments</comments>
		<pubDate>Wed, 14 Nov 2012 23:37:55 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Cloud]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=702</guid>
		<description><![CDATA[<p>Compile Delphi code for 64-bit platform is possible now with Delphi XE2 and XE3, developers can go beyond Windows 32-bit and start creating Windows Shell Extension for Windows 64-bit. Shell Extensions are in-process COM objects which extends the abilities of Windows OS. In this post I&#8217;m going to add two new context menu items in [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>Compile Delphi code for 64-bit platform is possible now with <a href="http://www.embarcadero.com/products/delphi" target="_blank">Delphi XE2 and XE3</a>, developers can go beyond Windows 32-bit and start creating Windows Shell Extension for Windows 64-bit. Shell Extensions are in-process COM objects which extends the abilities of Windows OS. In this post I&#8217;m going to add two new context menu items in Windows Explorer. The menus will allow users to upload files to Microsoft Azure and Amazon S3. This post will go through how to create the extension, register and compile for 32-bit and 64-bit. I&#8217;m preparing another post, in which I will explain how to upload files to Amazon S3 and Microsoft Azure.</p>
<h3>Creating the CloudUpload Shell Extension</h3>
<p>In order to start creating a Shell Extension in Delphi, you first need to create an ActiveX Library project and after that create a new Automation Object. In the example I use for this post, the project name is CloudUpload and the Automation Object is called TCloudUploadContext. The TCloudUploadContext class must implement the interfaces IShellExtInit and IContextMenu in order to integrate the Context Menu in Windows Explorer.</p>
<pre class="brush: delphi">    { IShellExtInit Methods }
    { Initialize the context menu if a files was selected}
    function IShellExtInit.Initialize = ShellExtInitialize;
    function ShellExtInitialize(pidlFolder: PItemIDList; lpdobj: IDataObject;
      hKeyProgID: HKEY): HResult; stdcall;

    { IContextMenu Methods }
    { Initializes the context menu and it decides which items appear in it,
      based on the flags you pass }
    function QueryContextMenu(Menu: HMENU; indexMenu, idCmdFirst, idCmdLast,
      uFlags: UINT): HResult; stdcall;

    { Execute the command, which will be the upload to Amazon or Azure}
    function InvokeCommand(var lpici: TCMInvokeCommandInfo): HResult; stdcall;
    { Set help string on the Explorer status bar when the menu item is selected }
    function GetCommandString(idCmd: UINT_PTR; uFlags: UINT; pwReserved: PUINT;
      pszName: LPSTR; cchMax: UINT): HResult; stdcall;</pre>
<p>The ShellExtInitialize defines if the Context Menu will appear or not in Windows Explorer. In this sample the context menu only shows up if one file has been selected, otherwise no Context Menu. In case only one file was selected the FFileName variable will receive the name of the file.</p>
<pre class="brush: delphi">function TCloudUploadContextMenu.ShellExtInitialize(pidlFolder: PItemIDList;
  lpdobj: IDataObject; hKeyProgID: HKEY): HResult;
var
  DataFormat: TFormatEtc;
  StrgMedium: TStgMedium;
  Buffer: array [0 .. MAX_PATH] of Char;
begin
  Result := E_FAIL;

  { Check if an object was defined }
  if lpdobj = nil then
    Exit;

  { Prepare to get information about the object }
  DataFormat.cfFormat := CF_HDROP;
  DataFormat.ptd := nil;
  DataFormat.dwAspect := DVASPECT_CONTENT;
  DataFormat.lindex := -1;
  DataFormat.tymed := TYMED_HGLOBAL;

  if lpdobj.GetData(DataFormat, StrgMedium) &lt;&gt; S_OK then
    Exit;

  { The implementation now support only one file }
  if DragQueryFile(StrgMedium.hGlobal, $FFFFFFFF, nil, 0) = 1 then
  begin
    SetLength(FFileName, MAX_PATH);
    DragQueryFile(StrgMedium.hGlobal, 0, @Buffer, SizeOf(Buffer));
    FFileName := Buffer;
    Result := NOERROR;
  end
  else
  begin
    // Don't show the Menu if more then one file was selected
    FFileName := EmptyStr;
    Result := E_FAIL;
  end;

  { http://msdn.microsoft.com/en-us/library/ms693491(v=vs.85).aspx }
  ReleaseStgMedium(StrgMedium);

end;</pre>
<p>After the context menu handler is initialized via the IShellExtInit interface, Windows uses the IContextMenu interface to call the other methods of our context menu handler. In this case it will call QueryContextMenu, GetCommandString and InvokeCommand.</p>
<p>The Context Menu options (<a href="http://aws.amazon.com/s3/" target="_blank">Amazon S3</a>, <a href="http://www.microsoft.com/windowsazure/features/storage/" target="_blank">Microsoft Azure</a>) will be created through the QueryContextMenu method.</p>
<pre class="brush: delphi">function TCloudUploadContextMenu.QueryContextMenu(Menu: HMENU;
  indexMenu, idCmdFirst, idCmdLast, uFlags: UINT): HResult;
var
  CloudMenuItem: TMenuItemInfo;
  MenuCaption: String;
  SubMenu: HMENU;
  uId: UINT;
begin
  { only adding one menu CloudMenuItem, so generate the result code accordingly }
  Result := MakeResult(SEVERITY_SUCCESS, 0, 3);

  { store the menu CloudMenuItem index }
  FMenuItemIndex := indexMenu;

  { specify what the menu says, depending on where it was spawned }
  if (uFlags = CMF_NORMAL) then // from the desktop
    MenuCaption := 'Send file from Desktop to the Cloud'
  else if (uFlags and CMF_VERBSONLY) = CMF_VERBSONLY then // from a shortcut
    MenuCaption := 'Send file from Shourtcut to the Cloud'
  else if (uFlags and CMF_EXPLORE) = CMF_EXPLORE then // from explorer
    MenuCaption := 'Send file from Explorer to the Cloud'
  else
    { fail for any other value }
    Result := E_FAIL;

  if Result &lt;&gt; E_FAIL then
  begin

    SubMenu := CreatePopupMenu;

    uId := idCmdFirst;
    InsertMenu(SubMenu, AmazonIndex, MF_BYPOSITION, uId, TClouds[AmazonIndex]);

    Inc(uId);
    InsertMenu(SubMenu, AzureIndex, MF_BYPOSITION, uId, TClouds[AzureIndex]);

    FillChar(CloudMenuItem, SizeOf(TMenuItemInfo), #0);
    CloudMenuItem.cbSize := SizeOf(TMenuItemInfo);
    CloudMenuItem.fMask := MIIM_SUBMENU or MIIM_STRING or MIIM_ID;
    CloudMenuItem.fType := MFT_STRING;
    CloudMenuItem.wID := FMenuItemIndex;
    CloudMenuItem.hSubMenu := SubMenu;
    CloudMenuItem.dwTypeData := PWideChar(MenuCaption);
    CloudMenuItem.cch := Length(MenuCaption);

    InsertMenuItem(Menu, indexMenu, True, CloudMenuItem);
  end;
end;</pre>
<p>When you are in the Windows Explorer and you pass the mouse over one of the Cloud menu items a short help message is displayed in the Windows Explorer status bar, it is defined on the implementation of the method GetCommandString, which returns a string to the Windows Explorer to display.</p>
<p>function TCloudUploadContextMenu.GetCommandString(idCmd: UINT_PTR; uFlags: UINT;</p>
<pre class="brush: delphi">  pwReserved: PUINT; pszName: LPSTR; cchMax: UINT): HResult;
begin
  Result := E_INVALIDARG;

  { Set help string on the Explorer status bar when the menu item is selected }
  if (idCmd in [AmazonIndex, AzureIndex]) and (uFlags = GCS_HELPTEXT) then
  begin
    StrLCopy(PWideChar(pszName), PWideChar('Copy the selected file to ' +
      TClouds[idCmd]), cchMax);
    Result := NOERROR;
  end;

end;</pre>
<p>As the user clicks in one of the Cloud menu items, the method InvokeCommand will be called and start the process to upload the selected file to the Cloud selected. At this point we already have the file name and based on the lpici parameters we can identify what menu item the user clicked.</p>
<pre class="brush: delphi">function TCloudUploadContextMenu.InvokeCommand(var lpici: TCMInvokeCommandInfo): HResult;
var
  Item: Word;
begin
  Result := E_FAIL;

  if HiWord(Integer(lpici.lpVerb)) &lt;&gt; 0 then
    Exit;

  { if the index matches the index for the menu, show the cloud options }
  Item := LoWord(Integer(lpici.lpVerb));

  if Item in [AmazonIndex, AzureIndex] then
  begin
    try
      Upload(lpici.HWND, Item, FFileName);
    except
      on E: Exception do
        MessageBox(lpici.hwnd, PWideChar(E.Message), 'Cloud Upload', MB_ICONERROR);

    end;
    Result := NOERROR;
  end;

end;</pre>
<p>In order for the COM object to be created whenever the CloudUpload is loaded, it&#8217;s necessary to create an instance of a class factory that specifically creates an instance of the shell extension object, the factory instance will be created on the initialization section, based on the following code, which is a replacement for the default code created by Delphi.</p>
<pre class="brush: delphi">initialization
  TCloudUploadObjectFactory.Create(ComServer, TCloudUploadContextMenu, CLASS_CloudUploadContextMenu, ciMultiInstance, tmApartment);
end.</pre>
<p>Since the class factory will be responsible to register/unregister the DLL, the methods ApproveShellExtension and UpdateRegistry will be invoked, it will happen when you use the regsvr32.exe.</p>
<pre class="brush: delphi">  { the new class factory }
  TCloudUploadObjectFactory = class(TAutoObjectFactory)
  protected
    procedure ApproveShellExtension(&amp;Register: Boolean; const ClsID: string);
    function GetProgID: string; override;
  public
    procedure UpdateRegistry(Register: Boolean); override;
  end;

{ TCloudUploadObjectFactory }

{ Required to registration for Windows NT/2000 }
procedure TCloudUploadObjectFactory.ApproveShellExtension(&amp;Register: Boolean;
  const ClsID: string);
Const
  WinNTRegKey =
    'SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved';
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;

  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;

    if not Reg.OpenKey(WinNTRegKey, True) then
      Exit;

    { register the extension appropriately }
    if &amp;Register then
      Reg.WriteString(ClsID, Description)
    else
      Reg.DeleteValue(ClsID);
  finally
    Reg.Free;
  end;

end;

function TCloudUploadObjectFactory.GetProgID: string;
begin
  { ProgID not required for shell extensions }
  Result := '';
end;

procedure TCloudUploadObjectFactory.UpdateRegistry(Register: Boolean);
Const
  ContextKey = '*\shellex\ContextMenuHandlers\%s';
begin
  { perform normal registration }
  inherited UpdateRegistry(Register);

  { Registration required for Windows NT/2000 }
  ApproveShellExtension(Register, GUIDToString(ClassID));

  { if this server is being registered, register the required key/values
    to expose it to Explorer }
  if Register then
    CreateRegKey(Format(ContextKey, [ClassName]), '', GUIDToString(ClassID),
      HKEY_CLASSES_ROOT)
  else
    DeleteRegKey(Format(ContextKey, [ClassName]));

end;</pre>
<h3>Compile for 32-bit or 64-bit platform</h3>
<p>At this point we just need to compile the extension, for this sample the Win APIs and RTL methods are the same for both platforms, we don&#8217;t need any specific code. You can define the target platform through the Project Manager, by default your project target 32-bit Windows, right click on Target Platforms to add 64-bit Windows.</p>
<p><a href="http://www.andreanolanusse.com/en/wp-content/uploads/2012/11/Platform.png"><img class="aligncenter size-medium wp-image-894" alt="Delphi Project Manager - Platform" src="http://www.andreanolanusse.com/en/wp-content/uploads/2012/11/Platform-209x300.png" width="209" height="300" /></a></p>
<p>You can&#8217;t register 32-bit dll in 64-bit operation system, and you can not register 64-bit dll in 32-bit operation system. If you are using your develop machine to test, compile for the platform compatible with your OS.</p>
<p>&nbsp;</p>
<h3>Registering the CloudUpload Shell Extension</h3>
<p>First, you must Run as Administrator the application you are going to use to register the shell extensions even if you are the Administrator user.</p>
<p>32-bit shell extensions can be registered through the IDE, and command line (cmd) can be used to register 32-bit and 64-bit.</p>
<p>Here the cmd line to register and unregister:</p>
<p>- Run as Administrator the cmd;</p>
<p>- Register the extension using the following command line: regsvr32 &lt;PATH WHERE IS LOCATED THE DLL&gt;CloudUpload.dll</p>
<p>- To unregister the extension using the following command line: regsvr32 &lt;PATH WHERE IS LOCATED THE DLL&gt;CloudUpload.dll /u</p>
<p>After register the DLL you can open the Windows Explorer, select one file and right click, you will see the new menu &#8220;Send file from Explorer to the Cloud&#8221;. The following screenshot show the shell extension on my Windows 7 64-bit.</p>
<p><a href="http://www.andreanolanusse.com/en/wp-content/uploads/2012/11/Windows-ShellExtension.png"><img alt="Shell Extension - Windows Explorer" src="http://www.andreanolanusse.com/en/wp-content/uploads/2012/11/Windows-ShellExtension.png" width="796" height="377" /></a></p>
<p>You can download he source code in 2 different ways:</p>
<ul>
<li>Use the <a href="http://www.embarcadero.com/products/rad-studio/downloads" target="_blank">RAD Studio XE2 or XE3 IDE</a> menu File option &#8220;Open from Version Control&#8221; and set the URL to <a href="https://radstudiodemos.svn.sourceforge.net/svnroot/radstudiodemos/branches/RadStudio_XE2/Delphi/CloudAPI/CloudUpload" target="_blank">https://radstudiodemos.svn.sourceforge.net/svnroot/radstudiodemos/branches/RadStudio_XE2/Delphi/CloudAPI/CloudUpload</a> for XE2 and <a href="https://radstudiodemos.svn.sourceforge.net/svnroot/radstudiodemos/branches/RadStudio_XE3/Delphi/CloudAPI/CloudUpload" target="_blank">https://radstudiodemos.svn.sourceforge.net/svnroot/radstudiodemos/branches/RadStudio_XE3/Delphi/CloudAPI/CloudUpload</a> for XE3</li>
<li>Update your RAD Studio XE2 or XE3 local demo repository, in case you use TortoiseSVN just right click on the C:\Users\Public\Documents\RAD Studio\9.0\Samples\Delphi folder and select update;</li>
</ul>
<div></div>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-444" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/microsoft-windows-azure-during-30-days-free/" class="wp_rp_title">Microsoft Windows Azure during 30 days FREE</a> (1)</li><li data-position="1" data-poid="in-336" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/datasnap-xe-and-windows-azure-rad-studio-xe-preview-3/" class="wp_rp_title">DataSnap XE and Windows Azure – RAD Studio XE Preview #3</a> (0)</li><li data-position="2" data-poid="in-775" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/amazon-web-service-aws-is-the-first-choice-for-php-developers/" class="wp_rp_title">Amazon Web Services (AWS) is the first choice for PHP Developers</a> (0)</li><li data-position="3" data-poid="in-341" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/test-our-datasnap-xe-live-server-on-amazon-cloud/" class="wp_rp_title">Test our DataSnap XE Live Server on Amazon Cloud</a> (12)</li><li data-position="4" data-poid="in-717" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/creating-xml-files-with-delphi-and-firemonkey-on-mac/" class="wp_rp_title">Creating XML files with Delphi and FireMonkey on Mac</a> (3)</li><li data-position="5" data-poid="in-802" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/some-historical-information-about-delphi-17-years-of-innovation/" class="wp_rp_title">Some historical information about Delphi &#8211; 17 years of innovation</a> (2)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/MUmcPVrVv8s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/shell-extension-for-windows-32-bit-and-64-bit-with-delphi-xe2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Delphi XE3 and C++Builder XE3 Hotfix 4</title>
		<link>http://www.andreanolanusse.com/en/delphi-xe3-and-cbuilder-xe3-hotfix-4/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=delphi-xe3-and-cbuilder-xe3-hotfix-4</link>
		<comments>http://www.andreanolanusse.com/en/delphi-xe3-and-cbuilder-xe3-hotfix-4/#comments</comments>
		<pubDate>Sat, 03 Nov 2012 06:48:05 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[HotFix]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=880</guid>
		<description><![CDATA[<p>Korean developers or developers that build applications for Korean market, hotfix 4 for Delphi X3 and C++Builder XE3 is for you. This Hotfix addresses an issue with using Korean IME in FireMonkey and you can download here. More information about Hotfix 1, 2 and 3 can be found here. &#160; Related PostsDelphi XE3 and C++Builder [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>Korean developers or developers that build applications for Korean market, hotfix 4 for Delphi X3 and C++Builder XE3 is for you.</p>
<p>This Hotfix addresses an issue with using Korean IME in FireMonkey and you can download <a href="http://cc.embarcadero.com/item/29089" target="_blank">here</a>.</p>
<p>More information about Hotfix 1, 2 and 3 can be found <a href="http://www.andreanolanusse.com/en/delphi-xe3-and-cbuilder-xe3-hotfixes-1-2-and-3/">here</a>.</p>
<p>&nbsp;</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-870" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/delphi-xe3-and-cbuilder-xe3-hotfixes-1-2-and-3/" class="wp_rp_title">Delphi XE3 and C++Builder XE3 Hotfixes 1, 2 and 3</a> (2)</li><li data-position="1" data-poid="in-300" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/rad-studio-2010-hotfix-2-available/" class="wp_rp_title">RAD Studio 2010 Hotfix 2 available</a> (4)</li><li data-position="2" data-poid="in-720" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/update-2-for-delphi-xe2-cbuilder-xe2-and-radphp-xe2-available/" class="wp_rp_title">Update 2 for Delphi XE2, C++Builder XE2 and RadPHP XE2 available</a> (3)</li><li data-position="3" data-poid="in-501" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/hotfix-1-for-delphi-xe-cbuilder-xe-and-rad-studio-xe-available/" class="wp_rp_title">Hotfix 1 for Delphi XE, C++Builder XE and RAD Studio XE available</a> (0)</li><li data-position="4" data-poid="in-812" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/" class="wp_rp_title">Update 4 for Delphi XE2 and C++Builder XE2 is now available</a> (8)</li><li data-position="5" data-poid="in-504" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/hotfix-2-and-help-update-2-for-delphi-xe-cbuilder-xe-and-rad-studio-xe-available/" class="wp_rp_title">Hotfix 2 and Help Update 2 for Delphi XE, C++Builder XE and RAD Studio XE available</a> (1)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/zfKhV0dYpuY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/delphi-xe3-and-cbuilder-xe3-hotfix-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rally For Impact: Call for Engineers to Collaborate and Solve Global Social Problems</title>
		<link>http://www.andreanolanusse.com/en/rally-for-impact-call-for-engineers-to-collaborate-and-solve-global-social-problems/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=rally-for-impact-call-for-engineers-to-collaborate-and-solve-global-social-problems</link>
		<comments>http://www.andreanolanusse.com/en/rally-for-impact-call-for-engineers-to-collaborate-and-solve-global-social-problems/#comments</comments>
		<pubDate>Thu, 04 Oct 2012 07:35:51 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=875</guid>
		<description><![CDATA[<p>It&#8217;s such a great honor to work for a company that not just thing about social responsibility, but really do things that can impact people&#8217;s life. Rally today announces Rally For Impact™, the next increment of Rally’s social mission that aims to mobilize engineers to solve the world’s most pressing problems. Please, take 5 minutes of [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s such a great honor to work for a company that not just thing about social responsibility, but really do things that can impact people&#8217;s life.</p>
<p>Rally today announces <a href="http://www.rallydev.com/community/rallyforimpact/" target="_blank"><strong>Rally For Impact™</strong></a>, the next increment of Rally’s social mission that aims to mobilize engineers to solve the world’s most pressing problems.</p>
<p>Please, take 5 minutes of your time and watch the following video, it will explain the Rally For Impact Mission and shows how an enginner in India was able to make a tremendous impact on people&#8217;s life.</p>
<p><iframe src="http://www.youtube.com/embed/CYJV9kI6cd4" frameborder="0" width="640" height="360"></iframe></p>
<p>If you have solved a social problem through engineering and want to share, let Rally for Impact know, they will love to know What caused you to change direction and pursue this issue? What challenges did you overcome? What help did you need to be successful? Visit the <a href="http://www.rallyforimpact.org" target="_blank">www.rallyforimpact.org</a> and tell your story.</p>
<p>Share this great initiative with your friends and start following Rally for Impact on twitter and Facebook, just click the buttons below.</p>
<blockquote class="pullquote pullquote_boxed"><p>Follow Rally For Impact on Twitter <a class="twitter-follow-button" href="https://twitter.com/RallyForImpact" data-show-count="true" data-lang="en" data-size="large">Follow @RallyForImpact</a> <script type="text/javascript">// <![CDATA[
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
// ]]&gt;</script></p>
</blockquote>
<blockquote class="pullquote"><p>Like Rally For Impact on Facebook </p>
<div id="fb-root"></div>
<p><script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script><fb:like-box href="http://www.facebook.com/RallyForImpact" width="500" height="300" show_faces="true" border_color="" stream="false" header="false"></fb:like-box></p>
</blockquote>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-109" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/historical-day-for-brazil-the-2016-olympic-games-will-be-in-rio-de-janeiro/" class="wp_rp_title">Historical day for Brazil, the 2016 Olympic Games will be in Rio de Janeiro</a> (0)</li><li data-position="1" data-poid="in-519" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/google-videos-going-offline-time-to-migrate-to-youtube/" class="wp_rp_title">Google Videos going Offline &#8211; time to migrate to YouTube</a> (1)</li><li data-position="2" data-poid="in-471" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/countdown-for-a-facebook-ipo-by-april-2012/" class="wp_rp_title">Countdown for a Facebook IPO by April, 2012</a> (1)</li><li data-position="3" data-poid="in-1" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/hello-world/" class="wp_rp_title">Beginning my personal blog</a> (1)</li><li data-position="4" data-poid="in-891" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/survey-2013-help-to-define-the-content-for-my-blog-in-2013/" class="wp_rp_title">Survey 2013 &#8211; Help to define the content for my blog in 2013</a> (1)</li><li data-position="5" data-poid="in-3" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/why-i-chose-wordpress-as-blog-tool/" class="wp_rp_title">Why I chose WordPress as Blog Tool</a> (0)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/IPIPy5ZMWzE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/rally-for-impact-call-for-engineers-to-collaborate-and-solve-global-social-problems/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Video: Introduction to SCRUM</title>
		<link>http://www.andreanolanusse.com/en/introduction-to-scrum/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=introduction-to-scrum</link>
		<comments>http://www.andreanolanusse.com/en/introduction-to-scrum/#comments</comments>
		<pubDate>Thu, 27 Sep 2012 07:58:51 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=872</guid>
		<description><![CDATA[<p>There are so many materials about agile methodologies out there, searching specifically about SCRUM you will find many of then that goes through the basic stuff and nothing else. The following video is a very cool presentation that will give you an overview of the Scrum process and how organizations can streamline their SCRUM process through the use of [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>There are so many materials about agile methodologies out there, searching specifically about SCRUM you will find many of then that goes through the basic stuff and nothing else.</p>
<p>The following video is a very cool presentation that will give you an overview of the Scrum process and how organizations can streamline their SCRUM process through the use of the Rally application.</p>
<p>If you are starting in agile and want to learn more, this video will be a great start.</p>
<p><iframe src="http://www.youtube.com/embed/E7ZxYWUpMgE" frameborder="0" width="480" height="360"></iframe></p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-846" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/agile-the-next-chapter/" class="wp_rp_title">Agile the next chapter</a> (4)</li><li data-position="1" data-poid="in-333" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/agile-development-delphi-xe-cbuilder-xe-delphi-prism-xe-radphp-xe/" class="wp_rp_title">Agile Development = Delphi XE + C++Builder XE + Delphi Prism XE + RadPHP XE</a> (6)</li><li data-position="2" data-poid="in-736" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/700-delphi-developers-at-delphi-conference-brazil/" class="wp_rp_title">700 Delphi Developers at Delphi Conference Brazil</a> (8)</li><li data-position="3" data-poid="in-875" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/rally-for-impact-call-for-engineers-to-collaborate-and-solve-global-social-problems/" class="wp_rp_title">Rally For Impact: Call for Engineers to Collaborate and Solve Global Social Problems</a> (2)</li><li data-position="4" data-poid="in-891" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/survey-2013-help-to-define-the-content-for-my-blog-in-2013/" class="wp_rp_title">Survey 2013 &#8211; Help to define the content for my blog in 2013</a> (1)</li><li data-position="5" data-poid="in-13" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/video-check-this-out-some-of-the-new-ide-features-in-delphi-2010-and-cbuilder-2010/" class="wp_rp_title">Video: Check this out some of the new IDE features in Delphi 2010 and C++Builder 2010</a> (1)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/7vHwRuJ2KtU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/introduction-to-scrum/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Delphi XE3 and C++Builder XE3 Hotfixes 1, 2 and 3</title>
		<link>http://www.andreanolanusse.com/en/delphi-xe3-and-cbuilder-xe3-hotfixes-1-2-and-3/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=delphi-xe3-and-cbuilder-xe3-hotfixes-1-2-and-3</link>
		<comments>http://www.andreanolanusse.com/en/delphi-xe3-and-cbuilder-xe3-hotfixes-1-2-and-3/#comments</comments>
		<pubDate>Thu, 27 Sep 2012 06:50:15 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[HotFix]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=870</guid>
		<description><![CDATA[<p>Three new hotfixes are available for Delphi XE3 and C++Builder XE3. Hotfix 1 &#8211; addresses an issue with ShowMessage in a FireMonkey application on certain locales on Mac OS X &#8211; download Hotfix 2 &#8211; addresses issues with the GestureManager in a FireMonkey application &#8211; download Hotfix 3 &#8211; For Professional edition only, addresses an issue in [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>Three new hotfixes are available for Delphi XE3 and C++Builder XE3.</p>
<ul>
<li>Hotfix 1 &#8211; addresses an issue with ShowMessage in a FireMonkey application on certain locales on Mac OS X &#8211; <a href="http://cc.embarcadero.com/item/29050" target="_blank">download</a></li>
<li>Hotfix 2 &#8211; addresses issues with the GestureManager in a FireMonkey application &#8211; <a href="http://cc.embarcadero.com/item/29051" target="_blank">download</a></li>
<li>Hotfix 3 &#8211; For <strong>Professional edition only, </strong>addresses an issue in using SQLite driver on the Professional edition &#8211; <a href="http://cc.embarcadero.com/item/29052" target="_blank">download</a></li>
</ul>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-501" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/hotfix-1-for-delphi-xe-cbuilder-xe-and-rad-studio-xe-available/" class="wp_rp_title">Hotfix 1 for Delphi XE, C++Builder XE and RAD Studio XE available</a> (0)</li><li data-position="1" data-poid="in-300" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/rad-studio-2010-hotfix-2-available/" class="wp_rp_title">RAD Studio 2010 Hotfix 2 available</a> (4)</li><li data-position="2" data-poid="in-880" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/delphi-xe3-and-cbuilder-xe3-hotfix-4/" class="wp_rp_title">Delphi XE3 and C++Builder XE3 Hotfix 4</a> (0)</li><li data-position="3" data-poid="in-720" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/update-2-for-delphi-xe2-cbuilder-xe2-and-radphp-xe2-available/" class="wp_rp_title">Update 2 for Delphi XE2, C++Builder XE2 and RadPHP XE2 available</a> (3)</li><li data-position="4" data-poid="in-504" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/hotfix-2-and-help-update-2-for-delphi-xe-cbuilder-xe-and-rad-studio-xe-available/" class="wp_rp_title">Hotfix 2 and Help Update 2 for Delphi XE, C++Builder XE and RAD Studio XE available</a> (1)</li><li data-position="5" data-poid="in-812" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/update-4-for-delphi-xe2-and-cbuilder-xe2-is-now-available/" class="wp_rp_title">Update 4 for Delphi XE2 and C++Builder XE2 is now available</a> (8)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/iv-eMynJ2jo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/delphi-xe3-and-cbuilder-xe3-hotfixes-1-2-and-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>NO Rave Reports in Delphi XE3 and C++Builder XE3</title>
		<link>http://www.andreanolanusse.com/en/no-rave-reports-in-delphi-xe3-and-cbuilder-xe3/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=no-rave-reports-in-delphi-xe3-and-cbuilder-xe3</link>
		<comments>http://www.andreanolanusse.com/en/no-rave-reports-in-delphi-xe3-and-cbuilder-xe3/#comments</comments>
		<pubDate>Sun, 16 Sep 2012 06:14:01 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[Delphi]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=865</guid>
		<description><![CDATA[<p>In case Rave Reports is the report solution for your Delphi or C++Builder applications, you will find out that Rave Reports is no longer there. Delphi and C++Builder developers has been complain for a while about Nevrona support, this is not different now. At this point Nevrona didn&#8217;t released Rave Reports for XE3 and there [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>In case Rave Reports is the report solution for your Delphi or C++Builder applications, you will find out that Rave Reports is no longer there. Delphi and C++Builder developers has been complain for a while about Nevrona support, this is not different now. At this point Nevrona didn&#8217;t released Rave Reports for XE3 and there is no news on their website.</p>
<p>FastReport has been present in Delphi and C++Builder since XE2 and it&#8217;s part of XE3, of course you are thinking about the painful migration process, time and resource necessarily to make the migration. The time and resource is something that only you will be able to determine, the migration of your reports can be done through FastReport. FastReport provide a tool that <a href="http://www.fast-report.com/en/products/report-for-delphi-fastreport-4-feature-matrix.html" target="_blank">convert</a> reports created with Rave, QuickReport and ReportBuilder to FastReport. I tried this convertor last year and I was able to migrate a simple report from Rave to FastReport, give a shoot and see how complex reports can be converted using this tool.</p>
<p>In case you have problems to convert your Rave reports, visit FastReports <a href="http://www.fast-report.com/en/forum/lofiversion/index.php/f13.html" target="_blank">forum</a>. If you already converted reports through the Fast Report convertor, please share your experience on the comment session, it will help others.</p>
<p>Also, you always has the possibility to choose other report solution, for example: <a href="http://www.digital-metaphors.com/" target="_blank">Report Builder</a> (commercial), <a href="http://fortesreport.com.br/?page_id=25" target="_blank">FortesReport</a> (free and open source) and others</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-21" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/the-old-component-toolbar-is-back-and-better-in-rad-studio-2010/" class="wp_rp_title">Video: The old Component Toolbar is back and better in RAD Studio 2010</a> (2)</li><li data-position="1" data-poid="in-499" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/caching-data-on-datasnap-server/" class="wp_rp_title">Caching data on DataSnap Server</a> (5)</li><li data-position="2" data-poid="in-321" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/rad-studio-xe-delphi-xe-cbuilder-xe-delphi-prism-xe-and-radphp-xe/" class="wp_rp_title">RAD Studio XE = Delphi XE, C++Builder XE, Delphi Prism XE and RadPHP XE</a> (21)</li><li data-position="3" data-poid="in-333" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/agile-development-delphi-xe-cbuilder-xe-delphi-prism-xe-radphp-xe/" class="wp_rp_title">Agile Development = Delphi XE + C++Builder XE + Delphi Prism XE + RadPHP XE</a> (6)</li><li data-position="4" data-poid="in-854" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/delphi-xe3-cbuilder-xe3-prism-xe3-and-html5-builder-is-coming/" class="wp_rp_title">Delphi XE3, C++Builder XE3, Prism XE3 and HTML5 Builder is coming!!!</a> (5)</li><li data-position="5" data-poid="in-720" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/update-2-for-delphi-xe2-cbuilder-xe2-and-radphp-xe2-available/" class="wp_rp_title">Update 2 for Delphi XE2, C++Builder XE2 and RadPHP XE2 available</a> (3)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/rtufic-2XP8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/no-rave-reports-in-delphi-xe3-and-cbuilder-xe3/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Delphi Third Party Alliance and Delphi XE3 EULA reverted</title>
		<link>http://www.andreanolanusse.com/en/delphi-third-party-alliance-facebook-group/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=delphi-third-party-alliance-facebook-group</link>
		<comments>http://www.andreanolanusse.com/en/delphi-third-party-alliance-facebook-group/#comments</comments>
		<pubDate>Mon, 03 Sep 2012 04:36:04 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[Delphi]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=861</guid>
		<description><![CDATA[<p>Delphi Third Party Alliance I just got an invitation to join a Facebook group called &#8220;Delphi Third Party Alliance&#8221;, based on the group description the goal is &#8220;promote a healthy Delphi Third Party ecosystem and user community&#8221;. I like this idea, there are some many components out there and this group can be a good [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<h3>Delphi Third Party Alliance</h3>
<p>I just got an invitation to join a Facebook group called <a href="http://www.facebook.com/groups/DelphiThirdPartyAlliance/" target="_blank">&#8220;Delphi Third Party Alliance&#8221;</a>, based on the group description the goal is &#8220;promote a healthy Delphi Third Party ecosystem and user community&#8221;. I like this idea, there are some many components out there and this group can be a good way to share what is available with the Delphi Community.</p>
<p>The group is administrated by several third party vendors, it&#8217;s an open group and I think anyone can join, check the link <a href="http://www.facebook.com/groups/DelphiThirdPartyAlliance/" target="_blank">http://www.facebook.com/groups/DelphiThirdPartyAlliance/</a></p>
<p>Third parties are joining forces.</p>
<h3>Delphi XE3 EULA reverted</h3>
<p>Embarcadero just notify their Technology Partners about the final EULA for XE3, they reverted the decision that would affect new users for develop Client/Server applications with Delphi Pro.</p>
<p>See below the communication sent by Embarcadero to their Technology Partners, also the new EULA details.</p>
<blockquote><p>We now have a final license agreement. There should be nothing in the final EULA &#8211; when it is truly finalized in the RTM version &#8211; that should cause any problems for partners or our customers. The license (EULA) is basically similar to the XE2 file. The EULA (which is included with every shipping product) will become &#8220;final&#8221; when the we sign off the release to manufacturing build. We have included portions of the final EULA below. Note that any Professional edition restrictions still included are only related only to the use of &#8220;dbExpress&#8221; technology and do not restrict the use of technolgy partner or other 3rd party client/server or multi-tier technologies by Professional edition customers.</p></blockquote>
<hr />
<p>ADDITIONAL LICENSE TERMS APPLICABLE TO STARTER EDITION</p>
<p>In the event Licensee has obtained a Starter Edition license the following terms hereby apply. Licensee may use the Product to develop software <img src="https://forums.embarcadero.com/images/emoticons/info.gif" alt="(i)" border="0" /> for which Licensee does not charge directly or indirectly a fee or receive other consideration including but not limited a license fee, a service fee, a development fee, a consulting fee, a subscription fee, a support fee, a hosting fee or the like and (ii) for which Licensee only charges fees (including but not limited a license fee, a service fee, a development fee, a consulting fee, a subscription fee, a support fee, a hosting fee or the like) that cumulatively, on an annual basis, do not exceed USD$1000. In the event any (for profit or non-profit) company elects to license the software then <img src="https://forums.embarcadero.com/images/emoticons/info.gif" alt="(i)" border="0" /> the total company revenues may not exceed USD$1000 and (ii) the total number of Starter Edition licenses deployed may not exceed 5.</p>
<p>ADDITIONAL LICENSE TERMS APPLICABLE TO SOFTWARE LICENSED FOR EDUCATIONAL USE</p>
<p>In the event Licensee has obtained an educational license the following terms apply. Licensee may exercise Licensee&#8217;s rights under this Agreement to use the Product and to create Works solely for Licensee&#8217;s own personal use in providing or receiving instruction within the limited scope of guided computer programming and/or software training courses in which Licensee are a direct and personal participant, either as student or instructor (&#8220;Courses&#8221;). Licensee may only reproduce, distribute and use Works, in source or object code form, to other participants of the Courses and then only for educational or training purposes. Licensee may not use the Products or Works created with the products for any commercial, business, governmental or institutional purpose of any kind, except to the extent Licensee are an instructor teaching a Course. All rights not specifically granted to Licensee herein are retained by Licensor.</p>
<p>ADDITIONAL LICENSE TERMS APPLICABLE TO RAD STUDIO, DELPHI AND C++BUILDER,<br />
PROFESSIONAL AND PROFESSIONAL ACADEMIC EDITIONS</p>
<p>In the event Licensee has obtained a RAD Studio, Delphi or C++Builder Professional, or Professional Academic product license then the following terms apply.</p>
<p>Subject to the terms and conditions of this Agreement, Licensor grants to Licensee as the licensed user of the Product the limited right to use that portion of the Product identified as &#8220;dbExpress&#8221;, in executable form only, to access a local database installed on the same machine as the Work. Licensee may not use that portion of the Product identified as &#8220;dbExpress&#8221; in association with a database located on a different machine other than the machine on which the Works are installed.</p>
<p>CLIENT/SERVER PACK</p>
<p>If licensee has purchased a Client/Server Pack, the Licensee of RAD Studio, Delphi, or C++Builder XE3 Professional Edition (&#8220;Product&#8221;) may deploy that portion of the Product identified as &#8220;dbExpress&#8221; and dbExpress enterprise database drivers, in executable form only, to enable client server database access. Embarcadero may deliver the Product identified as &#8220;Enterprise,&#8221; however Licensee is licensed to use only the &#8220;Professional&#8221; edition features plus &#8220;dbExpress&#8221; and the Enterprise dbExpress database drivers in a client/server configuration. Licensee may evaluate the n-Tier DataSnap functionality included in the Enterprise Product delivered, but may not deploy or redistribute DataSnap.</p>
<p>&nbsp;</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-857" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/controversial-changes-in-the-eula-for-delphi-xe3-and-cbuilder-xe3/" class="wp_rp_title">Controversial changes in the EULA for Delphi XE3 and C++Builder XE3</a> (17)</li><li data-position="1" data-poid="in-321" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/rad-studio-xe-delphi-xe-cbuilder-xe-delphi-prism-xe-and-radphp-xe/" class="wp_rp_title">RAD Studio XE = Delphi XE, C++Builder XE, Delphi Prism XE and RadPHP XE</a> (21)</li><li data-position="2" data-poid="in-333" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/agile-development-delphi-xe-cbuilder-xe-delphi-prism-xe-radphp-xe/" class="wp_rp_title">Agile Development = Delphi XE + C++Builder XE + Delphi Prism XE + RadPHP XE</a> (6)</li><li data-position="3" data-poid="in-477" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/delphi-xe-and-cbuilder-xe-starter-editions-officially-announced/" class="wp_rp_title">Delphi XE and C++Builder XE Starter Editions – Officially announced</a> (18)</li><li data-position="4" data-poid="in-723" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/connecting-to-postgresql-through-dbexpress-odbc-driver/" class="wp_rp_title">Connecting to PostgreSQL through dbExpress ODBC driver</a> (9)</li><li data-position="5" data-poid="in-300" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/rad-studio-2010-hotfix-2-available/" class="wp_rp_title">RAD Studio 2010 Hotfix 2 available</a> (4)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/TprOqLTBrXM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/delphi-third-party-alliance-facebook-group/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Controversial changes in the EULA for Delphi XE3 and C++Builder XE3</title>
		<link>http://www.andreanolanusse.com/en/controversial-changes-in-the-eula-for-delphi-xe3-and-cbuilder-xe3/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=controversial-changes-in-the-eula-for-delphi-xe3-and-cbuilder-xe3</link>
		<comments>http://www.andreanolanusse.com/en/controversial-changes-in-the-eula-for-delphi-xe3-and-cbuilder-xe3/#comments</comments>
		<pubDate>Wed, 29 Aug 2012 08:16:09 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[dbExpress]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=857</guid>
		<description><![CDATA[<p>As everybody knows Delphi XE3 will be released soon, some previews have been already published and there are some controversial topics around XEe, mostly because of leaks from people that clearly violated the NDA and this is shameful. The biggest controversy is the new license agreement (EULA) that leaked this week, where new users can [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>As everybody knows Delphi XE3 will be released soon, some previews have been already published and there are some controversial topics around XEe, mostly because of leaks from people that clearly violated the NDA and this is shameful.</p>
<p>The biggest controversy is the <strong><a href="http://bbs.2ccc.com/topic.asp?topicid=410504" target="_blank">new license agreement (EULA) that leaked this week</a></strong>, where <strong>new users</strong> can only use the Delphi Professional Edition to access local database, either with the Delphi components or third parties, to develop applications Client/Server applications <strong>new users</strong> will have to use Enterprise edition or higher, or by the Client/Server Addon for Professional Edition. If you own a license from Delphi 1 to Delphi XE2 you will not be affected by this new restriction.</p>
<p>Here what the EULA said:</p>
<blockquote><p>. the use of data access technologies for client/server<br />
connectivity will no longer be allowed in the Professional edition.<br />
This includes both Embarcadero and 3rd party solutions. Professional<br />
users may only, legally, access local databases with their applications.</p>
<p>Users who want to use client/server database access can purchase a<br />
Client/Server Add-On Pack for their Professional edition or purchase<br />
an Enterprise, Ultimate or Architect edition product.</p>
<p>This restriction if for new licenses only. Users upgrading to XE3<br />
will be “grandfathered” in that they will be able to continue to use<br />
3rd party data access technologies for client/server database access<br />
in version XE3 ..</p></blockquote>
<p>&nbsp;</p>
<p>Embarcadero haven&#8217;t official released the product and there are some open questions about the <strong>definition of new users.</strong> Here an example, let&#8217;s say you own a Delphi 2006 Professional today and want to upgrade to XE3 Professional, in this case you ARE NOT elegible for upgrade because you DON&#8217;T own one of the last 3 Delphi version, so you will have to buy a new license (&#8220;new user&#8221;). Based on this example and the new EULA, here come the question are you considered a &#8220;new user&#8221; or &#8220;upgraded user&#8221;? This is just one of many situations I can think right now and will beed to be clarified.</p>
<p>Besides all of this, the third party vendors (Embarcadero Technology Partners) certainly will be affected by this new restriction, we have today several third party providing database access technology to access Oracle, SQL Server, DB2, etc., and mostly used by developers that own Delphi Professional licenses.</p>
<p>The controversy is gigantic, Embarcadero&#8217;s forum has more them <a href="https://forums.embarcadero.com/message.jspa?messageID=486576" target="_blank">300 replies in a single thread</a>, several other <a href="http://www.deltics.co.nz/blog/?p=1097" target="_blank">blogs</a> <a href="http://tech.turbu-rpg.com/429/if-this-is-true" target="_blank">about</a> the <a href="http://delphitools.info/2012/08/29/all-your-base-are-belong-to-us/" target="_blank">topic</a> with lot&#8217;s of comments.</p>
<p>At least I can see some positive thing on all of this, Embarcadero now knows what many Delphi developers are thinking about this change and can start measuring the impact before release XE3 or make changes before the official announcement.</p>
<p>What are your thoughts on that?</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-723" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/connecting-to-postgresql-through-dbexpress-odbc-driver/" class="wp_rp_title">Connecting to PostgreSQL through dbExpress ODBC driver</a> (9)</li><li data-position="1" data-poid="in-729" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/copyreadertoclientdataset-blob-and-the-message-feature-not-implemented/" class="wp_rp_title">CopyReaderToClientDataSet, Blob and the message &#8220;Feature not implemented&#8221;</a> (2)</li><li data-position="2" data-poid="in-501" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/hotfix-1-for-delphi-xe-cbuilder-xe-and-rad-studio-xe-available/" class="wp_rp_title">Hotfix 1 for Delphi XE, C++Builder XE and RAD Studio XE available</a> (0)</li><li data-position="3" data-poid="in-35" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/new-dbexpress-driver-for-firebird-in-delphi-2010-and-cbuilder-2010/" class="wp_rp_title">Video: New dbExpress driver for Firebird in Delphi 2010 and C++Builder 2010</a> (0)</li><li data-position="4" data-poid="in-906" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/what-does-anydac-acquisition-by-embarcadero-mean-for-delphi-and-cbuilder-developers/" class="wp_rp_title">What does AnyDAC acquisition by Embarcadero mean for Delphi and C++Builder Developers?</a> (7)</li><li data-position="5" data-poid="in-763" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/using-dbexpress-framework-on-windows-and-mac-with-cbuilder/" class="wp_rp_title">Using dbExpress Framework on Windows and Mac with C++Builder</a> (2)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/OgHM9U2vqJU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/controversial-changes-in-the-eula-for-delphi-xe3-and-cbuilder-xe3/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Delphi XE3, C++Builder XE3, Prism XE3 and HTML5 Builder is coming!!!</title>
		<link>http://www.andreanolanusse.com/en/delphi-xe3-cbuilder-xe3-prism-xe3-and-html5-builder-is-coming/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=delphi-xe3-cbuilder-xe3-prism-xe3-and-html5-builder-is-coming</link>
		<comments>http://www.andreanolanusse.com/en/delphi-xe3-cbuilder-xe3-prism-xe3-and-html5-builder-is-coming/#comments</comments>
		<pubDate>Wed, 15 Aug 2012 08:02:41 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Delphi Prism (.NET)]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Delphi Prism]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=854</guid>
		<description><![CDATA[<p>Embarcadero just announced RAD Studio XE3 World Tour, which will show the new versions of Delphi, C++Builder, Prism and the  &#8220;new&#8221; HTML5 Builder. This new version will bring some new features related with the new Windows 8 UI, which Microsoft called Metro and will call something else as they release Windows 8, FireMonkey and others stuffs [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>Embarcadero just announced <a href="http://www.embarcadero.com/br/world-tour" target="_blank">RAD Studio XE3 World Tour</a>, which will show the new versions of Delphi, C++Builder, Prism and the  &#8220;new&#8221; HTML5 Builder.</p>
<p>This new version will bring some new features related with the new Windows 8 UI, which Microsoft called Metro and will call something else as they release Windows 8, FireMonkey and others stuffs that will be announced later.</p>
<p>I will be posting my thoughts about this new version as soon Embarcadero release that. This is going to be my first independent and imparcial review about a new version <a href="http://www.andreanolanusse.com/en/bye-bye-embarcadero">since I left Embarcadero</a>, stay tuned.</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-336" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/datasnap-xe-and-windows-azure-rad-studio-xe-preview-3/" class="wp_rp_title">DataSnap XE and Windows Azure – RAD Studio XE Preview #3</a> (0)</li><li data-position="1" data-poid="in-338" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/available-now-the-new-delphi-xe-cbuilder-xe-delphi-prism-xe-and-radphp-xe/" class="wp_rp_title">Available now the new Delphi XE, C++Builder XE, Delphi Prism XE and RadPHP XE</a> (0)</li><li data-position="2" data-poid="in-321" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/rad-studio-xe-delphi-xe-cbuilder-xe-delphi-prism-xe-and-radphp-xe/" class="wp_rp_title">RAD Studio XE = Delphi XE, C++Builder XE, Delphi Prism XE and RadPHP XE</a> (21)</li><li data-position="3" data-poid="in-333" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/agile-development-delphi-xe-cbuilder-xe-delphi-prism-xe-radphp-xe/" class="wp_rp_title">Agile Development = Delphi XE + C++Builder XE + Delphi Prism XE + RadPHP XE</a> (6)</li><li data-position="4" data-poid="in-419" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/datasnap-videos-for-2011-what-would-you-like-to-see/" class="wp_rp_title">DataSnap videos for 2011 – what would you like to see?</a> (21)</li><li data-position="5" data-poid="in-668" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/rad-studio-xe2-a-new-era-for-delphi-and-cbuilder-developers/" class="wp_rp_title">RAD Studio XE2 a new era for Delphi and C++Builder Developers</a> (7)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/qHzareNKaS0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/delphi-xe3-cbuilder-xe3-prism-xe3-and-html5-builder-is-coming/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Caching data on DataSnap Server</title>
		<link>http://www.andreanolanusse.com/en/caching-data-on-datasnap-server/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=caching-data-on-datasnap-server</link>
		<comments>http://www.andreanolanusse.com/en/caching-data-on-datasnap-server/#comments</comments>
		<pubDate>Wed, 01 Aug 2012 15:41:56 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[DataSnap]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=499</guid>
		<description><![CDATA[<p>DataSnap memory management is very powerful and a key DataSnap feature to implement cache solution. Imagine the scenario where the client application requests the same data thousands of times every day. You will have to touch the database every time. Let’s assume this data doesn’t change very often, like list of countries, states or cities. [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>DataSnap memory management is very powerful and a key DataSnap feature to implement cache solution. Imagine the scenario where the client application requests the same data thousands of times every day. You will have to touch the database every time. Let’s assume this data doesn’t change very often, like list of countries, states or cities.</p>
<p>When caching is implemented for this scenario, the first request to get the data from the database keeps it in memory. On the second and following requests the server will get the data from memory and return to the client. In other words, you just touch the database one time.</p>
<p>The combination between DataSnap memory management, DBXReader and ClientDataSet are what you need to implement a caching solution.</p>
<p>The DataSnap memory management is defined on the DSServerClass component using the LifeCycle property, which you can define as:</p>
<ul>
<li>Server → One class instance is used per server, all clients get the same class instance from the server (Singleton)</li>
<li>Session → One class instance is used per DataSnap Session, each client get your own instance from the server (Statefull).</li>
<li>Invocation → One class instance is used per invocation method (Stateless), here you can decide when create and destroy the class.</li>
</ul>
<p>Looking the LifeCycle property, you see that you can implement a cache solution per client (Session) or per server (Server) just by changing this property.</p>
<p>Let’s see how we can implement a caching solution using the scenario where I need to cache the list of states; this data is in the table STATE in this case.</p>
<p>My Server Class is a DSServerModule (class name TDMDataSet5) and contains 2 private and 1 public methods, which are:</p>
<pre class="brush: delphi">private
   function GetRecords(Fields, Table: String): TDBXReader;
   function GetData(Cds : TClientDataSet; Fields, Table: String) : TDBXReader;
public
   function GetState: TDBXReader;</pre>
<p>GetRecords will execute the query against the database and return the records as DBXReader, this method doesn’t implement any logic to check if the cache is already filled.</p>
<pre class="brush: delphi">function TDMDataSet5.GetRecords(Fields, Table: String): TDBXReader;
var
    cmd: TDBXCommand;
begin

    cmd := DMServerContainer.GetConnection.DBXConnection.CreateCommand;
    try
      cmd.Text := 'Select ' + Fields + ' from ' + Table;
      Result := cmd.ExecuteQuery;
    except
      raise;
    end;
end;</pre>
<p>Since DBXReader is unidirectional we can’t keep the data in memory, the solution is to copy and maintain the data in a ClientDataSet.</p>
<p>GetData is an internal method responsible to create and maintain the data in a cache, and return the data as DBXReader.</p>
<p>Looking at the implementation below, the method will get the data from the database (GetRecords) only if the ClientDataSet is not active, in other words we never had the data in the cache and it will be executed only one time. After the IF statement, the TDBXDataSetReader class will copy the data from ClientDataSet to DBXReader and return that.</p>
<pre class="brush: delphi">function TDMDataSet5.GetData(Cds: TClientDataSet; Fields, Table: String): TDBXReader;
var
    Reader : TDBXReader;
begin
    if not Cds.Active then // Not active means, never move the data to ClientDataSet – no cache
      begin
      Reader := GetRecords(Fields, Table);
      TDBXDataSetReader.CopyReaderToClientDataSet( Reader, Cds );
      Reader.Free;
      Cds.Open;
    end;

    Result := TDBXDataSetReader.Create(Cds, False (* InstanceOwner *) );
end;</pre>
<p>You may ask why I’m copying the data from ClientDataSet to DBXReader and not return the ClientDataSet directly. Two reasons:</p>
<ul>
<li>I can’t marshal/unmarshal ClientDataSet as a JSON object</li>
<li>DataSnap converts DBXReader into JSON when the server methods are invocated through REST interfaces.</li>
</ul>
<p>An important point here, the DSServerModule TDMDataSet5 will manage the cache. If I define the LifeCycle for this class as server it means only one cache instance for all clients “global cache”, defining it as Session means that I’m creating a cache for each client connected to the server.</p>
<p>On the client side using a native client as example we will get a DBXReader, it is up to your application to decide what to do with the data, but if you need to connect to this data with data-aware components, you just need to copy the DBXReader data into ClientDataSet, the TDBXDataSetReader.CopyReaderToClientDataSet method is the solution for that.</p>
<pre class="brush: delphi">   TDBXDataSetReader.CopyReaderToClientDataSet(Reader, CDSCity);</pre>
<p>If your data related with the State table change you have to implement a server method to refresh the data. Also using LifeCycle as Server the cache will be destroyed at the moment you stop the server, but if you use LifeCycle as Session the cache will be destroyed when the client disconnect to the server.</p>
<p>Using this technique you garanty the cache on the server side independent of the client implementation, also I would like to remember this solution works for DataSnap Servers, if you are using DataSnap REST interface you won&#8217;t have cache because every server request works as invocation lifecycle.</p>
<p>This is one realistic example to explain how to implement cache on DataSnap Server using data from database as example, also you learned how to move data from/to ClientDataSet to/from DBXReader.</p>
<p>You can download the source code sample <a href="http://cc.embarcadero.com/download.aspx?id=28243">here</a>, look at the unit DataSetDM5.pas (Server) and FormDataSet5 (client).</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-409" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/registering-datasnap-server-class-in-runtime-with-delphi/" class="wp_rp_title">Registering DataSnap Server Class in runtime with Delphi</a> (6)</li><li data-position="1" data-poid="in-493" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/copying-data-from-clientdataset-to-dbxreader/" class="wp_rp_title">Copying data from ClientDataSet to DBXReader</a> (13)</li><li data-position="2" data-poid="in-729" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/copyreadertoclientdataset-blob-and-the-message-feature-not-implemented/" class="wp_rp_title">CopyReaderToClientDataSet, Blob and the message &#8220;Feature not implemented&#8221;</a> (2)</li><li data-position="3" data-poid="in-396" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/sharing-db-connection-between-multiples-datasnap-server-modules/" class="wp_rp_title">Sharing DB connection between multiples DataSnap Server Modules</a> (6)</li><li data-position="4" data-poid="in-419" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/datasnap-videos-for-2011-what-would-you-like-to-see/" class="wp_rp_title">DataSnap videos for 2011 – what would you like to see?</a> (21)</li><li data-position="5" data-poid="in-336" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/datasnap-xe-and-windows-azure-rad-studio-xe-preview-3/" class="wp_rp_title">DataSnap XE and Windows Azure – RAD Studio XE Preview #3</a> (0)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/nFJsyD_vfnc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/caching-data-on-datasnap-server/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>TDBXJsonTools copy/convert data between TDataSet – TJSONObject – DBXReader</title>
		<link>http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader</link>
		<comments>http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/#comments</comments>
		<pubDate>Wed, 01 Aug 2012 09:30:20 +0000</pubDate>
		<dc:creator>Andreano Lanusse</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[FireMonkey]]></category>
		<category><![CDATA[JSON]]></category>

		<guid isPermaLink="false">http://www.andreanolanusse.com/en/?p=818</guid>
		<description><![CDATA[<p>You can copy data from DBXReader to ClientDataSet and vice-versa using dbxExpress framework, you probably already read some of my blog posts where I explain how it works in desktop applications, however in mobile platforms we don&#8217;t have ClientDataSet and in case you want something similar you always, what can you do? DataSnap Mobile Connectors [...]</p><p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p>]]></description>
				<content:encoded><![CDATA[<p>You can copy data from DBXReader to ClientDataSet and vice-versa using dbxExpress framework, you probably already read some of my blog <a href="http://www.andreanolanusse.com/en/copying-data-from-clientdataset-to-dbxreader/" target="_blank">posts</a> where I explain how it works in desktop applications, however in mobile platforms we don&#8217;t have ClientDataSet and in case you want something similar you always, what can you do?</p>
<p>DataSnap Mobile Connectors has a class called TDBXJsonTools, this class allows developers to copy/convert data between DBXReader, TJSONObject, DBXReader and other types, you can do that in any mobile platform supported by the connectors, like: Java/Android, Java/BlackBerry, Objective-C, C#/Windows Phone and FreePascal.</p>
<p>In a native desktop application you would use TDBXDataSetReader.CopyReaderToClientDataSet(Reader, ClientDataSet) to copy the DBXReader to a ClientDataSet, in the mobile apps you will use TDBXJsonTools.CreateTDataSetFromJSON(DBXReader.asJSONObject).</p>
<p>Meanwhile, this is not only about copy/convert data, it gives you several ways to interact and transport data using different types and take advantage of the native types in each platform. For example, when using DataSet in FireMonkey on iOS it will use TDataSet class from FreePascal/Delphi RTL, when using with Java, TDataSet will be extension of TDBXReader and so on.</p>
<p>DBXReader is unidirectional and navigation is limited, when using FireMonkey on iOS developers can copy the DBXReader data to a DataSet, which is bi-directional, it will enable the navigation and use of other DataSet features.</p>
<p>The following code represents the TDBXJsonTools interface for FreePascal.</p>
<pre class="brush: delphi">  TDBXJsonTools = class
  public
    class procedure jsonToDBX(obj: TJSONValue; var value: TDBXValue; dbxTypeName: String);
    class procedure JSONToValueType(json: TJSONArray; var vt: TDBXValueType);
    class function DBXParametersToJSONObject(dbxParameters: TDSParams) : TJSONObject;
    class function DBXReaderToJSONObject(dbxReader: TDBXReader): TJSONObject;
    class function CreateTDataSetFromJSON(value: TJSONObject): TDataset;
    class function TDataSetToJSONObject(value: TDataset): TJSONObject;
    class function GetTFieldTypeByTDBXDataTypes(DBXDataTypes: TDBXDataTypes) : TFieldType;
    class function GetTDBXDataTypesByTFieldType(FieldType: TFieldType) : TDBXDataTypes;
    class function CreateTStreamFromJSONArray(value: TJSONArray): TStream;
    class function StreamToJSONArray(value: TStream): TJSONArray;
    class function JSONToTableType(value: TJSONValue; dbxTypeName: String): TObject;
    class function SerializeTableType(Objetc: TObject): TJSONObject;

  end;</pre>
<p>My recommendation is to continue using DBXReader as the primarily source of data, and when necessary take advantage of the TDBXJsonTools class.</p>

<div class="wp_rp_wrap  wp_rp_plain" ><div class="wp_rp_content"><h3 class="related_post_title">Related Posts</h3><ul class="related_post wp_rp" style="visibility: visible"><li data-position="0" data-poid="in-918" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/whats-new-in-delphi-xe4/" class="wp_rp_title">What&#8217;s new in Delphi XE4?</a> (5)</li><li data-position="1" data-poid="in-115" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/datasnap-2010-sending-and-receiving-objects/" class="wp_rp_title">DataSnap 2010 – sending and receiving objects</a> (5)</li><li data-position="2" data-poid="in-717" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/creating-xml-files-with-delphi-and-firemonkey-on-mac/" class="wp_rp_title">Creating XML files with Delphi and FireMonkey on Mac</a> (3)</li><li data-position="3" data-poid="in-681" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/video-delphi-xe2-and-firemonkey-app-on-windows-mac-and-ios/" class="wp_rp_title">Video: Delphi XE2 and FireMonkey app on Windows, Mac and iOS</a> (44)</li><li data-position="4" data-poid="in-723" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/connecting-to-postgresql-through-dbexpress-odbc-driver/" class="wp_rp_title">Connecting to PostgreSQL through dbExpress ODBC driver</a> (9)</li><li data-position="5" data-poid="in-671" data-post-type="none" ><a href="http://www.andreanolanusse.com/en/a-little-bit-about-firemonkey-and-delphi-xe2/" class="wp_rp_title">A little bit about FireMonkey and Delphi XE2</a> (61)</li></ul><div class="wp_rp_footer"><a class="wp_rp_backlink" target="_blank" rel="nofollow" href="http://www.zemanta.com/?wp-related-posts">Zemanta</a></div></div></div>
<p><a href="http://www.andreanolanusse.com/en">Andreano Lanusse | Technology and Software Development</a><br/>
Follow me on Twitter: <a href="http://twitter.com/andreanolanusse.com">@andreanolanusse</a></p><img src="http://feeds.feedburner.com/~r/AndreanoLanusseEN/~4/_GTz0IiWllA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.andreanolanusse.com/en/tdbxjsontools-copyconvert-data-between-tdataset-tjsonobject-dbxreader/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
