<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>http://blog.marcocantu.com/</id><title>marcocantu.blog</title><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><subtitle>Techie Italian Blogging on Delphi and More</subtitle><generator>GeoAtomService</generator><rights>©2005 Marco Cantù</rights><updated>2013-05-24T13:51:07.204Z</updated><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/marcocantublog" /><feedburner:info uri="marcocantublog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>Using Open SLL in Delphi iOS</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/0UxwsFje9wA/using_ssl_delphi_ios.html" /><id>http://blog.marcocantu.com/blog/using_ssl_delphi_ios.html</id><published>2013-05-24T13:51:07.204Z</published><updated>2013-05-24T13:51:07.204Z</updated><summary>Delphi uses OpenSSL for Indy's HTTP support, but also for Amazon and Azure cloud services. Here are some tips on how to get it up and running. </summary><content type="html">
    &lt;p&gt;Delphi uses OpenSSL for Indy's HTTP support, but also for Amazon and Azure cloud services. it is also used for DataSnap clients when encryption filters are enabled. Here are some tips on how to get this library up and running.&lt;/p&gt;
    &lt;p&gt;To enable Indy's OpenSSL support in your Delphi code, all you need to do is add the unit &lt;strong&gt;IdSSLOpenSSLHeaders_Static&lt;/strong&gt; in one of the uses statements of your project. In fact, as you probably know, on iOS you cannot use dynamic libraries but have to link external compiled libraries (.a files) to your executable. The unit above has the code needed to bring in the proper library files, &lt;strong&gt;libcrypto.a&lt;/strong&gt; and &lt;strong&gt;libssl.a&lt;/strong&gt;.&lt;/p&gt;
    &lt;p&gt;Now the problem becomes, where do you find it? We would have been more than happy to ship a version of the library with Delphi but given it is a general purpose encryption library there are restrictions to ship it due to US export laws. One option is to &lt;strong&gt;build these libraries from the sources&lt;/strong&gt;. You can find OpenSSL for iOS at &lt;a href="http://github.com/st3fan/ios-openssl"&gt;
        &lt;span class="s1"&gt;http://github.com/st3fan/ios-openssl&lt;/span&gt;
      &lt;/a&gt;. You can compile the libraries following the detailed steps and using the compilation script at &lt;span class="s1"&gt;
        &lt;a href="http://x2on.de/2010/12/16/tutorial-script-for-building-openssl-for-ios-iphoneipad/"&gt;http://x2on.de/2010/12/16/tutorial-script-for-building-openssl-for-ios-iphoneipad/&lt;/a&gt;
      &lt;/span&gt;
      &lt;span class="s2"&gt;. Once you have done that, you need to copy the two .a files indicated above in a folder visible by the project (the main project source folder could certainly be an option).&lt;/span&gt;
    &lt;/p&gt;
    &lt;p&gt;This covers the device, but not the simulator, which can use dynamic libraries. For the simulator you can use &lt;strong&gt;IdOpenSSLSetLibPath&lt;/strong&gt; and set the path to a location on the Mac where the .dylib files are located. Notice that if you let the Mac just find the OpenSLL libraries, this generally works for an OS X application, but might not run for one running in the simulator. In fact, you might have a different / wrong version of the dylibs in the library folders the simulator uses. You can also grab the right dylib files, copy from the Mac to your project source folders, and deploy them to the simulator along with the application, using Delphi's deployment support. Remember, though, that you cannot add these dylibs to the device deployment.&lt;/p&gt;
    &lt;p&gt;Thanks to &lt;strong&gt;three Steve/Stephen&lt;/strong&gt; of Embarcadero (Blas, Ball, Axtell) for the information in this post.&lt;/p&gt;
    &lt;p&gt; &lt;/p&gt;
  &lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/0UxwsFje9wA" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/using_ssl_delphi_ios.html</feedburner:origLink></entry><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>Keynote at DDD Frankfurt and Amsterdam</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/mkWmOdMwty0/keynote_ddd_frankfurt_amsterdam.html" /><id>http://blog.marcocantu.com/blog/keynote_ddd_frankfurt_amsterdam.html</id><published>2013-05-22T21:02:18.080Z</published><updated>2013-05-22T21:02:18.080Z</updated><summary>Over the next two weeks I'll visit and given a keynote at the two European stops of the Delphi Developer Days tour, with Cary Jensen and Bob Swart. </summary><content type="html">
    &lt;p&gt;Over the next two weeks I'll visit and given a keynote at the two European stops of the Delphi Developer Days tour, with Cary Jensen and Bob Swart. As you might remember, I used to co-organize and speak at these events with Cary, but given my new job at Embarcadero I couldn't do that any more. However, I was asked to attend and give the Embarcadero keynote... and stick around for Q&amp;A sessions and in general to discuss the status and future of Delphi with attendees.&lt;/p&gt;
    &lt;p&gt;I'll be next Thursday and Friday (30th and 31st) in Frankfurt, and the first few days of June (3rd and 4th) in Amsterdam. I'm sure I'll also learn a lot from the sessions Cary and Bob are doing, and it will be a pleasure to spend time with them and Loy. I think their Amsterdam event is fully booked, while there is still room for the German one (language is English anyway). For all information and details you can refer to their web site, &lt;a href="http://www.delphideveloperdays.com"&gt;www.delphideveloperdays.com&lt;/a&gt;.&lt;/p&gt;
    &lt;p&gt;If you are in those cities during those dates but cannot attend the seminars, I might still have time for an extra meeting, so feel free to reach me over email. By the way, good to see these events fully booked once more, seems a good sign for Delphi (and a prove Cary and myself did a good job in the past).&lt;/p&gt;
    &lt;p&gt; &lt;/p&gt;
  &lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/mkWmOdMwty0" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/keynote_ddd_frankfurt_amsterdam.html</feedburner:origLink></entry><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>Of Strings, Immutability, COW, and AnsiStrings</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/59jMsJMJUZM/strings_immutability_cow_ansistrings.html" /><id>http://blog.marcocantu.com/blog/strings_immutability_cow_ansistrings.html</id><published>2013-05-17T10:21:11.290Z</published><updated>2013-05-17T10:21:11.290Z</updated><summary>Not unexpectedly, there is debate in the Delphi community around strings in the NextGen compiler. Here are some (partial) clarifications. </summary><content type="html">
    &lt;p&gt;Not unexpectedly, there is debate in the Delphi community around strings in the NextGen compiler, touching on string immutability, copy-on-write, the loss of the AnsiString type in Delphi's new iOS compiler, and the like. Some sources are:&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;
        &lt;a href="http://delphitools.info/2013/05/13/immutable-strings-in-delphi/"&gt;delphitools.info/2013/05/13/immutable-strings-in-delphi/&lt;/a&gt;
      &lt;/li&gt;
      &lt;li&gt;
        &lt;a href="https://forums.embarcadero.com/thread.jspa?threadID=87171"&gt;forums.embarcadero.com/thread.jspa&lt;/a&gt; (very long thread)&lt;/li&gt;
      &lt;li&gt;
        &lt;a href="http://blog.synopse.info/post/2013/05/11/Delphi-XE4-NextGen-compiler-is-disapointing"&gt;blog.synopse.info/post/2013/05/11/Delphi-XE4-NextGen-compiler-is-disapointing&lt;/a&gt;
      &lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;Before I start, let me clarify that this blog post is not the result of any internal debate or discussion, so it is not an official company position. It does reflect my understanding of the current scenario and it is a direct reaction, after reading some of the posts above (which do contain a lot of insight and good ideas).&lt;/p&gt;
    &lt;p&gt;Let me start with what I posted as a comment to the first blog entry above: &lt;/p&gt;
    &lt;p style="margin-left: 40px;"&gt;
      &lt;em&gt;Very nice roundup about the features and advantages of strings in Delphi compared to other platforms. I agree on some speed loss compared to FastCode, but mostly because we moved away from assembly (given platform portability is very relevant for Delphi today). Also, TStringBuilder can be faster in the scenarios it beats the native memory manager in terms of pre-allocations, something FastMM4 does pretty well on Windows, the native iOS allocator doesn’t seem so smart doing.&lt;br&gt;&lt;/br&gt;
      &lt;/em&gt;
    &lt;/p&gt;
    &lt;p style="margin-left: 40px;"&gt;
      &lt;em&gt;Stay assured, there is no plan to change anything going forward unless there is a proven advantage. This is particularly true for immutable strings. They could provide some advantage (for example in heavy multi-threading, when managing string fragments, and in other scenarios)… but will also have disadvantages. At this point there is no definitive decisions on this. Strings in the current Delphi iOS compiler are NOT IMMUTABLE, there is only a warning indicating where things might change in the future. Native might change, not will certainly change.&lt;/em&gt;
    &lt;/p&gt;
    &lt;p&gt;The last part is key to the debate. The current implementation of strings is still centered around the COW (Copy-On-Write) mechanism, with some really minor differences. And you can change a string in each of the following ways in Delphi for iOS (aka, our NextGen compiler):&lt;/p&gt;
    &lt;p&gt;
      &lt;em&gt;Delete(S, 1, 2); // not allowed&lt;br&gt;&lt;/br&gt;
Insert(S, 1, 'He'); // not allowed&lt;br&gt;&lt;/br&gt;
S[7] := 'T'; // not allowed&lt;br type="_moz"&gt;&lt;/br&gt;
      &lt;/em&gt;
    &lt;/p&gt;
    &lt;p&gt;I grabbed these three lines from the forum thread. The first and the latter (and their TStringHelper equivalents) are still and will be allowed in the future. The only question is if their performance will stay the same or decrease, which will make sense if most other string operations will become faster. As for the last statement, this triggers a warning in Delphi for iOS (a warning you can disable), indicating a potential future compatibility. This means there is an internal evaluation of truly immutable strings, no decision taken.&lt;/p&gt;
    &lt;p&gt;We more than welcome input, but better if based on some substance. Immutable strings are used in some languages to help the garbage collector, and that's something we don't need (given we don't have and don't plan adding a GC in Delphi). But they are used in other language that break away from the concept of linear strings (string s= array of characters) and use a concept of string fragments (string = tree of immutable string fragments, potentially shared by different strings). Again, this is just a research area, and there is nothing decided. Unless we prove significant advantages, we won't deviate from the current model.&lt;/p&gt;
    &lt;p&gt;So getting back to the thread, at one point someone suggested a petition around 4 requests:&lt;/p&gt;
    &lt;p&gt;
      &lt;em&gt;
        &lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;- the loss of AnsiString (and single byte Chars)&lt;/span&gt;
        &lt;br&gt;&lt;/br&gt;
        &lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;- that strings may become immutable&lt;/span&gt;
        &lt;br style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;/br&gt;
        &lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;- that strings are either 1-based or 0-based&lt;/span&gt;
        &lt;br style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;/br&gt;
        &lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;- the re-implementation of RTL functions with rather suboptimal code&lt;/span&gt;
      &lt;/em&gt;
    &lt;/p&gt;
    &lt;p&gt;Let me comment in the reverse order:&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;Improving RTL functions is always a goal. honestly, with fewer RTL functions (and fewer string types) it becomes easier to focus on those.&lt;/li&gt;
      &lt;li&gt;For now, 1-based or 0-based is just a local compiler option, not sure if the request is to keep it this way...&lt;/li&gt;
      &lt;li&gt;Immutability, as described above, is a potential future, which would be implemented only if there is a proven advantage&lt;/li&gt;
      &lt;li&gt;The loss of AnsiString is the most controversial issue. The problem is that it is also the loss of UTF8String. And of AnsiChar. And of using pointers to directly manage character buffers. Which is not really lost, because this is what we are doing internally and suggesting externally. I do understand the request, but it seems to have different implications for different people (and string formats). Optimizing for English language is not a primary goal, as Delphi is used a lot around the world. Improving the management of &lt;em&gt;raw dynamic arrays of bytes storing characters&lt;/em&gt; is certainly on the table. &lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;Two more (short) comments related with other complains. &lt;/p&gt;
    &lt;p&gt;The first is around the fact we are supposedly "dumbing down" the language or making it "Java-like". I really disagree this is the case. Adding features shared by many modern languages doesn't imply dumbing down, but might have the effect of making the language easier to learn and use. Letting the power users go ahead with all the tricks they know of. Cleaning up the large collection of string types goes in this direction. The fact a type is not native implies that an operation requires a function call rather than an internal (magic) function call, but I don't see a huge difference in using a record with methods versus a native type, for any complex operation.&lt;/p&gt;
    &lt;p&gt;The second is the idea that we should help maintaining the code on very old versions of Delphi. This is quite debatable. We are adding language features across compilers (Delphi ships with 5 compilers today) for platform cross-platform compatibility. Worrying about how to write Delphi code that shines today and still works on Delphi 6 (a twelve years old development tool) would be like asking Microsoft to add WinRT support in Visual Basic 6.&lt;/p&gt;
    &lt;p&gt;Now having said this we are open to feedback, particularly constructive feedback and suggestions. And would someone want to start an open source project to implement a few cross-platform Delphi string types (AnsiString, UTF8String), I'll be willing to contribute.&lt;/p&gt;
    &lt;p&gt; &lt;/p&gt;
  &lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/59jMsJMJUZM" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/strings_immutability_cow_ansistrings.html</feedburner:origLink></entry><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>Italian Delphi Day 2013</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/oT55thj6r58/italian_delphi_day_2013.html" /><id>http://blog.marcocantu.com/blog/italian_delphi_day_2013.html</id><published>2013-05-17T08:18:43.025Z</published><updated>2013-05-17T08:18:43.025Z</updated><summary>On June 6th there will be the 12th edition of the Italian Delphi Day, featuring local and international speakers.</summary><content type="html">
    &lt;p&gt;On &lt;strong&gt;June 6th&lt;/strong&gt; there will be the 12th edition of the &lt;strong&gt;Italian Delphi Day&lt;/strong&gt;, featuring local and international speakers, including myself as Delphi PM and Bruno Fierens of TMS. Beside conference style presentations, the day will see roundtable discussions, showcases, and lots of Q&amp;A sessions, covering all Delphi things, form iOS to databases, from web development to 3D user interfaces. The day before the event has some &lt;strong&gt;pre-conference tutorials&lt;/strong&gt;, 4 seminars in 2 parallel tracks, in which Andrea Magni and Paolo Rossi will cover some of the most recent features of Delphi (FireDAC, iOS, Language changes, Live Bindings).  &lt;/p&gt;
    &lt;p&gt;All Italian developers are invited to the &lt;em&gt;largest annual gathering of Delphi developers&lt;/em&gt;, a full day devoted to the product produced as an independent event by Wintech Italia, with the help of a few sponsors. After organizing the event for many years, I'm now a guest speaker, and will cover the present and future of Delphi. Detailed information and sign up at:&lt;/p&gt;
    &lt;p style="text-align: center;"&gt;
      &lt;a href="http://www.delphiday.it"&gt;
        &lt;strong&gt;www.delphiday.it&lt;/strong&gt;
      &lt;/a&gt;
    &lt;/p&gt;
  &lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/oT55thj6r58" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/italian_delphi_day_2013.html</feedburner:origLink></entry><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>XE4 Articles, Comments, Intelli-J, and More</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/F-IzIP634fk/xe4_articles_comments.html" /><id>http://blog.marcocantu.com/blog/xe4_articles_comments.html</id><published>2013-05-16T13:52:11.390Z</published><updated>2013-05-16T13:53:19.768Z</updated><summary>Couple of links about XE4 articles and comments.  Plus my initial take on Google moving away from Eclipse. </summary><content type="html">
    &lt;p&gt;
      &lt;content xmlns:gxi="http://geode.it/gxi/2.0/"&gt;
        &lt;p&gt;I saw a very interesting article on ZDNet about a real case of an Australian company in the medical field. You can read the article, with extensive #34es from &lt;a href="http://www.malcolmgroves.com/blog/"&gt;Malcolm Groves&lt;/a&gt;, at &lt;a href="http://www.zdnet.com/pascal-still-an-advantage-for-some-ios-android-developers-7000014743/"&gt;www.zdnet.com/pascal-still-an-advantage-for-some-ios-android-developers-7000014743/&lt;/a&gt;. I also witnessed a few companies trying to switch away from Delphi and realizing this is much more difficult than they had anticipated, because despite great marketing, most other development tools have their own shortcomings. Now, while migrating to Unicode or mobile requires you to have a second look to your code, a lot of it moves over quite seamlessly, including database access, and more.&lt;/p&gt;
        &lt;p&gt;Speaking of other tools, I think Eclipse received a significant blow yesterday by the announcement of Google transitioning their "primary" Android IDE from it to Intelli-J. This is a very nice Java tool, with a free community edition and a paid version including high-end features. I guess that when some of our users claim all IDEs should be free these days, we have a counterpoint (honestly they do have lower prices, but they are selling "only" an IDE, while we have compilers and libraries on top of it).&lt;/p&gt;
        &lt;p&gt;In terms of comments, we found a very nice one from Wilfred Olouch on this &lt;a href="http://blogs.embarcadero.com/davidi/2013/05/14/42692"&gt;David I blog post&lt;/a&gt; on iOS support in Delphi XE4 vs. XE2 (which is also worth reading), answering to why a developers should pay for an IDE to build iOS apps, when xCode is free from Apple:&lt;/p&gt;
        &lt;p style="margin-left: 40px;"&gt;
          &lt;em&gt;I can think of three reasons that apply to me and might to you as well:&lt;br&gt;&lt;/br&gt;
(1) I already know the Delphi language and prefer it to Objective C&lt;br&gt;&lt;/br&gt;
(2) The drop component / double-click / code behind model is easier than the X-Code inlet/outlet, etc model&lt;br&gt;&lt;/br&gt;
(3) when FireMonkey for Android ships, there will be no X-code for Android; your app in Delphi will cross-compile.&lt;/em&gt;
        &lt;/p&gt;
        &lt;p&gt;Three points I fully agree with, thanks for the coincise summary, Wilfred.&lt;/p&gt;
      &lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/F-IzIP634fk" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/xe4_articles_comments.html</feedburner:origLink></entry><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>Delphi XE4 IDE videos by José León</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/tserGPT36YQ/delphi_xe4_ide_joseleon.html" /><id>http://blog.marcocantu.com/blog/delphi_xe4_ide_joseleon.html</id><published>2013-05-14T20:39:47.974Z</published><updated>2013-05-14T20:39:47.974Z</updated><summary>José León has been posting some in depth videos about the changes in the Delphi IDE to support iOS development (and not only that) in XE4.</summary><content type="html">
    &lt;p&gt;José León has been posting some in depth videos about the changes in the Delphi IDE to support iOS development (and not only that) in XE4.&lt;/p&gt;
    &lt;p&gt;The complete series is on his blog at &lt;a href="http://joseleon.es"&gt;joseleon.es&lt;/a&gt;. Specifically the first three videos were published in &lt;a href="http://joseleon.es/?m=201304"&gt;April&lt;/a&gt;, while there have been 6 more already in &lt;a href="http://joseleon.es/?m=201305"&gt;May&lt;/a&gt;.&lt;/p&gt;
    &lt;p&gt;This is the first one, as an example (and a very nice one):&lt;/p&gt;
    &lt;p&gt;
      &lt;iframe width="640" height="360" src="http://www.youtube.com/embed/zWxUvQFl7SM?feature=player_embedded" frameborder="0" allowfullscreen=""&gt;&lt;/iframe&gt;
    &lt;/p&gt;
    &lt;p&gt;Stay tuned to José blog for more about the RAD Studio IDE.&lt;/p&gt;
  &lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/tserGPT36YQ" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/delphi_xe4_ide_joseleon.html</feedburner:origLink></entry><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>IBLite, Free InterBase for iOS</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/qrhs9XOdoOE/iblite_free_interbase_ios.html" /><id>http://blog.marcocantu.com/blog/iblite_free_interbase_ios.html</id><published>2013-05-09T09:14:11.212Z</published><updated>2013-05-09T09:14:11.212Z</updated><summary>Embarcadero has formally announced IBLite, the free version of IB ToGo for iOS, already shipping in RAD Studio XE4</summary><content type="html">
    &lt;p&gt;Embarcadero has formally announced IBLite, the free version of IB ToGo for iOS, already shipping in RAD Studio XE4. You can read the announcement at &lt;a href="http://edn.embarcadero.com/article/43128"&gt;edn.embarcadero.com/article/43128&lt;/a&gt;.&lt;/p&gt;
    &lt;p&gt;As you might know, &lt;strong&gt;IBToGo&lt;/strong&gt; is a DLL-based or in-process version of InterBase, requiring no deployment and giving developers access to the same InterBase GDB files and almost all of the same features of the server version of the RDBMS. Being in-process only an application at a time can use the specific database file, but beside that features are complete and include full transactions support and concurrent access by multiple threads of the same application. Another notable feature IBToGo shares with the full database is strong encryption support. Now this database engine has been available also on iOS: in this case you bind the library to your app executable, given dynamic libraries cannot be used on iOS. Delphi XE4 has full support for this, right in the box. The same library, anyway can also be used to connect to a full InterBase server.&lt;/p&gt;
    &lt;p&gt;The second part of the announcement, even more relevant, is that there is a new version of this in-process engine called &lt;strong&gt;IBLite&lt;/strong&gt; and currently available only for iOS. This is completely free and can be used in free and commercial apps, with some limitations on database size and the lack on encryption support. Again, this is fully supported in Delphi XE4 for iOS, in the same way of IB ToGo. In fact, there is only one library and you get one behavior or the other depending on the license file you deploy along with the application. Notice, you have to log on Embarcadero web site to ask for that licence file: instructions are in the email with the Delphi or RAD Studio license.&lt;/p&gt;
    &lt;p&gt;Finally, &lt;strong&gt;why&lt;/strong&gt; do you want to do this, adding extra files to your deployment rather than using the built-in SQLite engine? Beside the fact this is totally up to you, given Delphi for iOS has also full integrated support for SQLite, the advantages are in the file compatibility with InterBase, the extensive feature set, the quality of the SQL engine, and its speed... and the ability to switch to an encrypted database (you don't want to have plain sensitive data on a portable device, do you?) with a license change and no modification in your app code.&lt;/p&gt;
    &lt;p&gt;Delphi for iOS supports IBToGo and IBLite via dbExpress, FireDAC, and IBX. And you get a free developer license of the InterBase server, now part of the RAD Studio installation.&lt;/p&gt;
  &lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/qrhs9XOdoOE" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/iblite_free_interbase_ios.html</feedburner:origLink></entry><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>XE4 DataBase Components Updates and the Reviewers Guide</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/dh7OBra30QU/xe4_database_components_updates_rguide.html" /><id>http://blog.marcocantu.com/blog/xe4_database_components_updates_rguide.html</id><published>2013-05-03T20:17:41.426Z</published><updated>2013-05-03T20:17:41.426Z</updated><summary> Two hot fixes for XE4: IBX and a FireDAC update. Plus the reviewers guide.</summary><content type="html">
    &lt;p&gt;There are two hot fixes available for the database side of XE4:&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;IBX (Interbase Express) is now available for registered users at &lt;a href="http://cc.embarcadero.com/item/29408"&gt;cc.embarcadero.com/item/29408&lt;/a&gt;
      &lt;/li&gt;
      &lt;li&gt;The FireDAC Enterprise download for XE4 (if you are entitled to it) is at &lt;a href="http://cc.embarcadero.com/item/29368"&gt;cc.embarcadero.com/item/29368&lt;/a&gt;. It has been updated from the original version, so you might want to download it again.&lt;/li&gt;
      &lt;li&gt;The FireDAC Professional for Mobile, similarly, is at &lt;a href="http://cc.embarcadero.com/item/29410"&gt;cc.embarcadero.com/item/29410&lt;/a&gt; for registered users and has been updated since the original version.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;This is the link to the reviewers guide, a non-technical introduction to Delphi for iOS: &lt;a href="http://edn.embarcadero.com/article/43099"&gt;edn.embarcadero.com/article/43099&lt;/a&gt;.&lt;/p&gt;
    &lt;p&gt; &lt;/p&gt;
  &lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/dh7OBra30QU" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/xe4_database_components_updates_rguide.html</feedburner:origLink></entry><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>Assorted Delphi XE4 Links</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/lOnFQRfnuc4/assorted_delphixe4_links.html" /><id>http://blog.marcocantu.com/blog/assorted_delphixe4_links.html</id><published>2013-04-24T17:06:04.439Z</published><updated>2013-04-24T17:06:04.439Z</updated><summary>I've been busy with launch webinar and other activities, but also spent some time online. Here is a collection of links related with Delphi XE4. </summary><content type="html">
    &lt;p&gt;I've been busy with launch webinar and other activities, but I've also spent some time online. Here is a collection of links related with Delphi XE4:&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;JT on True Native at &lt;a href="http://blogs.embarcadero.com/jtembarcadero/2013/04/18/true-native/"&gt;blogs.embarcadero.com/jtembarcadero/2013/04/18/true-native/&lt;/a&gt;
      &lt;/li&gt;
      &lt;li&gt;Long long post with many technical details by Brian Long at &lt;a href="http://blog.blong.com/2013/04/delphi-for-ios-aka-delphi-xe4-aka-rad.html"&gt;blog.blong.com/2013/04/delphi-for-ios-aka-delphi-xe4-aka-rad.html&lt;/a&gt;
      &lt;/li&gt;
      &lt;li&gt;I know someone at Embarcadero will be unhappy &lt;g&gt; but there is a FishFact for iOS at &lt;a href="https://www.youtube.com/watch?feature=player_embedded&amp;amp;v=6rDyD7k24Z0"&gt;https://www.youtube.com/watch?feature=player_embedded&amp;v=6rDyD7k24Z0&lt;/a&gt;
      &lt;/li&gt;
      &lt;li&gt;Very nice tip about persistent setting in Delphi iOS by David Clegg at &lt;a href="http://edn.embarcadero.com/article/43065"&gt;edn.embarcadero.com/article/43065&lt;/a&gt;
      &lt;/li&gt;
      &lt;li&gt;Jose Leon on what's new in the IDE at &lt;a href="http://joseleon.es/?p=165"&gt;joseleon.es/&lt;/a&gt;
      &lt;/li&gt;
      &lt;li&gt;Jens Fudge on ARC and other language changes at &lt;a href="http://delphi.exotech.dk/#post18"&gt;delphi.exotech.dk/#post18&lt;/a&gt;
      &lt;/li&gt;
      &lt;li&gt;Long long list of QC fixes at &lt;a href="http://edn.embarcadero.com/article/43068"&gt;edn.embarcadero.com/article/43068&lt;/a&gt;
      &lt;/li&gt;
      &lt;li&gt;Sarina blogged about &lt;a href="http://blogs.embarcadero.com/sarinadupont/2013/04/23/creating-a-segmented-control-for-ios-in-xe4/"&gt;segmented controls for iOS&lt;/a&gt; and &lt;a href="http://blogs.embarcadero.com/sarinadupont/2013/04/23/adding-custom-app-icons-and-setting-supported-orientations/"&gt;custom icons and orientations&lt;/a&gt;
      &lt;/li&gt;
      &lt;li&gt;All download links are here, &lt;a href="http://delphi-insider.blogspot.com/2013/04/download-links-for-delphi-xe4-cbuilder.html"&gt;delphi-insider.blogspot.com/2013/04/download-links-for-delphi-xe4-cbuilder.html&lt;/a&gt; (very useful, Tim)&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;That's all for now, more will come as information and technical tips become available.&lt;/p&gt;
    &lt;p&gt; &lt;/p&gt;
  &lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/lOnFQRfnuc4" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/assorted_delphixe4_links.html</feedburner:origLink></entry><entry><author><name>marcocantu</name><uri>http://www.marcocantu.com</uri></author><title>My Delphi Podcast Interview</title><link href="http://feedproxy.google.com/~r/marcocantublog/~3/Pm-XXpQRa_k/delphi_podcast_52.html" /><id>http://blog.marcocantu.com/blog/delphi_podcast_52.html</id><published>2013-04-24T08:04:54.334Z</published><updated>2013-04-24T08:04:54.334Z</updated><summary>I was interviewed by Jim McKeeth for a new episode of the Delphi Podcast.</summary><content type="html">
    &lt;p&gt;I was interviewed by Jim McKeeth for a new episode of the Delphi Podcast. The first good news here is that the podcast is coming back after quite some time, kudos to Jim for that. The second news is I was interviewed for it, and spent quite some time chatting about Delphi in general, Delphi for iOS in particular, future plans for the product, my own personal projects including books, and so on.&lt;/p&gt;
    &lt;p&gt;Listen to or download from at &lt;a href="http://delphi.org/2013/04/52-delphi-xe4-for-ios/"&gt;http://delphi.org/2013/04/52-delphi-xe4-for-ios/&lt;/a&gt;.&lt;/p&gt;
    &lt;p&gt;PS. There is still time to register for today's Delphi XE4 Launch Webinar at &lt;a href="http://embt.co/RADXE4PAS"&gt;embt.co/RADXE4PAS&lt;/a&gt;. I'll be talking about language changes and database support. JT and Sarina will cover all other areas of the product. And I'll be online to answer questions at 3pm European time today (6 am pacific), 8 pm European time (11 am pacific).&lt;/p&gt;
  &lt;img src="http://feeds.feedburner.com/~r/marcocantublog/~4/Pm-XXpQRa_k" height="1" width="1"/&gt;</content><feedburner:origLink>http://blog.marcocantu.com/blog/delphi_podcast_52.html</feedburner:origLink></entry></feed>
