- Webinar: How to Embed InterBase into your Delphi Applications
- Discover How to Leverage Visual C++ and Visual Studio Skills with Embarcadero Software Development Tools at Microsoft TechEd Conference
- The Traps of The If Then Else Statement in Your Delphi Code
- Italian Delphi Day 2012 on June 7th
- Generating QR-Code Using Delphi
- Embarcadero NewsFlash - May 2012
- Quick Developer Survey - Enter to Win a $25 iTunes Gift Card
- What Databases Can you Integrate / Embed Directly With Your Delphi Application
- Delphi Developer Days 2012 Frankfurt and Rome
- Interfaces in Delphi Programming 102 - Properties In Interfaces, Same Named Methods, ...
- Delphi XE2 Hotfix 4.1
- Last Chance to Register: FireMonkey Win/Mac Technical Workshop
Marco Cantu
Italian Delphi Day 2012 on June 7th
Next week I'm hosting a 3-days Delphi event in Piacenza, Italy. This is the largest independent gathering of Italian Delphi developers, now in its 11th year.
The main event is on June 7th, with a conference in the morning and discussion panels in the afternoon. Speakers include:
- Stephen Ball, Embarcadero Technologies
- Dmitry Arefiev, AnyDAC
- Marco Cantù, Wintech Italia
- Lorenzo Barbieri, Microsoft Italia
The day before we are hosting tutorials on Delphi development (source code management, recent language features, Windows development, Mac development).
There is also a new third day focused on third party components, with session on Azure, RemObject tools, FastReport, TMS FireMonkey controls, ADS and Italian libraries and projects like GO, Kitto, and my Relax. This is an experiment, but seems to be well received.
Detailed information is at the new event web site, http://www.delphiday.it/ (in Italian language).
Participation is subject to a very limited fee (30 Eur/day, covering the lunch) while the tutorials have a standard training fee.
If you are a Delphi developer and live In Italy, sign up right way to help us organizing the event (and before June 1st, in any case). There is really no excuse not to attend, this is the best event in Italy and has been the largest gathering of Italian Delphi developers for the past 10 years (excluding Embarcadero product launches, of course).
See you next week.
Delphi Developer Days 2012 Frankfurt and Rome
Last week Cary Jensen and I hosted the 5th and 6th stops of Delphi Developer Days 2012 around Europe.
FrankfurtFirst we were in Frankfurt, in a hotel not from from the central station (HauptBanhof) we used also in past years. We had a really great crowd, in fact the event was sold out and we could have had any more people. Most of the participants were from germany, but we had also many from Norway and other nordic countries. Bruno Fierens from TMS Software was the guest speaker: He covered development of FireMonkey controls, and showcased the coming FireMonkey grid from TMS.
Rome
The last stop was in Rome and was a bit different. The hotel was also near the station, but not far from downtown. Food was quite good. Attendees were not many (about half Italian, half from other countries) and this was a good chance for extensive questions and more experiments. The guest speaker was Danielete Teti, who covered Dependency Injection. At the end of the first day I guided half of the group for a tour of Rome, including the Quirinale hill, the key centers of Italian politics (the Parliament, the Prime Minister residence). Trevi Fountain, the Pantheon (a tall dome built 2,000 years ago with impressive architectural inventions), Piazza Navona, Campo dei Fiori, and the Compidoglio (or Capitol) Hill with Michelangelo's square and the view on the Imperial Forum. We also saw both the Colosseum and Teatro Marcello, a slightly smaller theater with houses built on the upper part in later years. Here are some pictures, but not from the tour:
DDD 2012 Conclusion
This was the end of the 6 cities tour for this year. We are starting to plan for next year in a few months. We certainly want to hit US and Europe again, are considering adding special sessions with more introductory classes, as we had some relatively new Delphi developers this year (a great sign for the Delphi community, but they need slightly different content). We'll keep you posted.
In the meanwhile, though, if you need training on Delphi you can ask me or Cary to come to your company!
Delphi XE2 Hotfix 4.1
Last week Embarcadero made available a "hotfix" (that is a patch, not a full installation) to Delphi XE2 Update 4. You can find information on the official page http://edn.embarcadero.com/article/42282. The download file (for registered users) is at http://cc.embarcadero.com/item/28881. I applied the fix, which didn't take much time and went smoothly:
The hotfix addresses a dozen QC errors, as listed in the description. While most of them relate to FireMonkey, there are also a few for TClientDatSet and other VCL components.
Notice that you have also to update the FireMonkey library for iOS, installing the related update on your Mac. According to the description, this patch "Enables users to submit iOS applications to the App Store". There are not many details though, given this is not a QC bug but an internal one.
Cloud Storage: GDrive, SkyDrive, or DropBox?
Over the last two weeks I've been playing a bit with the three main cloud storage services and their respective Windows applications, that let you map a folder to remote storage. I've read countless blog posts about the license agreements and I really think that despite the different wording they are almost identical; I've read debates about the price comparison (but they are difficult to compare, because they do different things). What I'm not seen covered is the cabability of the Windows client applications and the quality of their integration with Windows Explorer. If you want to use them to keep a local copy of your main PC files on a safe location, and move others to a public folder to share them with the world, you don't want to use the browser and upload or download file. You want this to happen seamlessly. That's why Google released a Windows application for GDrive and Microsoft (after a few years) released one for SkyDrive. DropBox? They had one for quite some time...
Microsoft SkyDriveMicrosoft has had SkyDrive for quite some time and now gave us early users some extra free space... until the change the service name (I notice that changes Windows Live and Azure to something else). After a few years they released a client application in the same week Google released theirs. Don't tell me Microsoft doesn't need competition to put its act together! Anyway, after you install it and connect it to your Microsoft account (or Windows Live ID) you get to pick a folder that's kept in synch with cloud storage. Choose wisely, as you cannot change the folder later on but need to uninstall and re-install. Not good. After the process, you get an icon in the notification area:
Quite scanty. You can open the local folder or open the online view in the browser. The configuration settings are also a bit bare bone: there are two check boxes!
As you look into the selected folder, or one of the subfolders, you see your files with a modified icon, loosely cloning TortoiseSVN, with the file status. That's all as there is no special menu, folder configuration or any other setting. You move files there, they get backed up online. And you can share them with other computers. This is much better than in the past, when there was only the web interface, but not a huge effort.
Google GDrive
Google's storage service has been rumored for years, and it was finally released recently. it is integrated with Google Docs (and Google Apps), which already provided file storage at least for those (like myself) with a paid company account. Now you get integration with the Windows file system. Again, when you install GDrive you point it to a folder and it show a nice icon in your notification area, with some more menu items:
There are the two core menu items (view local drive, open in browser) plus a few more direct links 8buy more storage, view items shared with me) and some nice status information (active account, available space). Also the preferences are a bit more complete than Microsoft ones:
For example you can synch only some of the folders under the main GDrive folder and, well, you can buy more storage (the message is not so subtle...). GDrive specific features is that is merges in its files and folders the local files on your PC and the documents on Google Apps and the "virtual folders" you arranged your documents into. On the local file system you get placeholders for the online documents, which can make it much faster to open them. But it you copy a local file (like a Word or PowerPoint file) you can still open it online, if you want. I use Google Apps a lot and find this feature quite handy. This is a view of a folder:
In this case there is no visual clue about the file status, which is a bit disappointing.
DropBoxDropBox is the service that first integrated remote or cloud document storage with Windows. I think they still use Amazon's S3 behind the scenes, which explains why they are considerably more expensive. I do have quite a lot of free storage from they referral program... if you want to contribute some more signup to DropBox from this link.
From the installation, you can notice that DropBox has more flexibility. It's notification icon keep telling you of the files is it downloading or uploading, and using it for shared content among multiple computers is really very nice. The icon and its menu look like this:
Notice the "all files up to date" which is the more detailed than the other services, and the recently changed files, and the pause... but if you open the preferences dialog you can see that it is not even comparable to Google and Microsoft apps in terms of flexibility and customization. Yes, it might be geared towards power user, more than the average user, but I certainly appreciate the difference:
This is only one of the 5 configuration pages. For example, you have the option to move the entire DropBox repository to a different location on your file system. And other advanced features.
But the real difference between DropBox and the other services becomes visible as you start moving to Windows Explorer itself. DropBox enabled files and folders have extra menu items that let you perform specific actions, like making a folder public, retrieving the URL of a public resource, getting past versions of the files, and perform many more actions without having to open the web browser. As Microsoft's solution (and well before it), the files and folders are marked with status icons. Here are the two instances of the folder and file menus, but their actual content depends on the sych and accessibility status:
Conclusion: DropBox clearly wins on Windows Integration
Online services must work nicely and easily give you power without having to resort to a browser, be geared towards synchronizing different computers and devices. For now on Windows DropBox is a clear winner (and I'm not saying this because of the affiliation, as I'm also a Microsoft and Google Partner). Too bad the price difference is significant. Cannot Google or Microsoft or Amazon go buy DropBox (make Joel happy) and deliver us the best of the two worlds? Or hire a good Windows programmer and make Windows Explorer integration a little more rich for their online storage services? Microsoft should have the knowledge to do this and I was expecting a bit more from them.
PS. Or maybe one of us could write a Delphi application for integrating with Explorer, and sell it to them. Microsoft already bought a Delphi application for a few millions (Skype), you never know. ;-)
FireMonkey Links #2
Here is another blog in the would-be series of FireMonkey updates, after the initial post at http://blog.marcocantu.com/blog/firemonkey_links_1.html , with links and news about the new Delphi library.
Graphical Math FunctionsPawel has a nice demo of Bezier Surface Visualization (from Turbo Pascal to Delphi FireMonkey) in his blog, including source code.
Anders has a MathWiz app for iOS, that's available on AppStore for 99 cents.
FastReports for MacThe company is about to release its Delphi reporting ending for the Mac. Information and early demos at http://www.fast-report.com/en/news/9497.html.
FireMonkey Class Hierarchy PosterMight have already blogged about this, but in case you missed it, there is a nice poster of FireMoneky classes, much like the old VCL ones. The PDF is at http://www.embarcadero-info.com/firemonkey/firemonkey_chart_poster.pdf.
. Do you know of any cheap service to get this printed on a real poster?
eLearn from Embaracadero
A new series of webinars by Embarcadero, focused on FireMonkey, started last week (I'm listening to the second installment while typing this blog entry): http://blogs.embarcadero.com/firemonkey/index.php/2012/04/20/elearning-series-getting-started-with-firemonkey-begins-may-3-2012/. The registration page is here (http://edn.embarcadero.com/article/42194) and the logo here on the side.
The FireMonkey blogBy the way, this was announced on the new FireMonkey blog, which is at http://blogs.embarcadero.com/firemonkey/ (mostly managed by David I, it seems). It think it is correct for Embarcadero to have product blogs beside personal ones.
FireMonkey at Delphi Developer Days (Again)Finally, if you are interested in learning about FireMonkey from me (and Cary Jensen), you can attend Delphi Developer Days in Rome mid-May (which include a short city tour by yours truly).
There is a long technical introduction, an in-depth session about Styles (the real foundation of the library), plus a session covering iOS DataSnap clients. Information at http://www.delphideveloperdays.com/.
FireMonkey at Italian Delphi Day I and other experts will also show a few FireMonkey demos at the coming Italian Delphi Day (June 7th): http://www.delphiday.it/.
30 Years of Sinclair ZX Spectrum
This week marked the 30th year since the Sinclair ZX Spectrum was first launched. It was my first computer and I still have the original piece of hardware.
Yout can read a very nice article on "RegHardware" at http://www.reghardware.com/2012/04/23/retro_week_sinclair_zx_spectrum_at_30/. The name "Spectrum" and the colors band came to underline the computer had color graphics (in fact, it could show 8 different colors at a 256x192 pixels resolution). It also had a Z80 processors (and I did learn its machine language), and a whopping 64KB addressable space, of which 16KB was the internal ROM (including a Basic interpreter with command associated with the various keys) and left you use the remaining 48KB for applications and data.
Of course, there was no floppy (only later the introduced an infinite micro-drive tape) so all storage was on regular audio tapes and you had to have a good quality recorded to be able to read back your data and saved programs. I never bought the micro-drive, but got the stronger keyboard with proper keys (as in the second image below). rather than the rubber one (as in the first image, which was the original version). I was hoping to try to turn it on and take a few pictures (it did start the last time I tried, a few years ago) but this week was quite busy.
I have fond memories of this first computer, I'm not sure younger generations can fully understand this. For us, it was quite a miracle. I learned BASIC, played too many games, produced animated physics experiments, learned assembly to make the programs be faster, bought dedicated computer magazines (and yes, they had source code to type in!). Time flyes!
Delphi Developer Days 2012 Baltimore and Chicago
Last week, Cary Jensen and myself did the US portion of Delphi Developer Days 2012 tour. All went very well, we had a good group in Baltimore and a packed room in Chicago (could not let in any more attendees). In both cities we had an Embarcadero keynote by Anders Ohlsson, and the company also set up free evening events with pizza, drinks, and lot of FireMonkey. This technology was the focus of the keynote and demos, which included some new iOS applications Anders is going to made public. Before you ask, information about future versions was sparse, with the reiteration and iOS and Android will be target of future Delphi compilers.
Cary and I did our many sessions and I think people got home with lots of my information... and possible a bit overwhelmed, but that was our goal. We had as guest speakers Jim McKeeth of RemObjects in Baltimore and Ray Konopka of Raize Software in Chicago (Ray's home). Got to see a very interesting picture of a Disneyland attraction. Both guest speaker were great, and we really cannot thank them enough for coming.
Baltimore PicturesHere are a few pictures of the Baltimore event, with some of the attendees, Jim speaker, Anders speaking.
Chicago Pictures
Here are some pictures of the Chicago event, with a couple of pictures of the attendees (taken while Cary was talking) and one at the end of the evening with Anders and Ray.
Chicago, the City
I did spend an evening downtown Chicago, and here are a few pictures (taken the with phone, quite low quality): the El (elevated train), downtown, magnificient mile, and a few taken from the Hancock Tower Observatory.
Europe "2" is Next
The final two events of the Delphi Developer Days 2012 tour will take place in Europe in 3 weeks (after the earlier European events in March). The stop in Frankfurt, Germany is fully booked, but we still have room in Rome, Italy. So you can combine two days of Delphi training with a visit to the eternal city... and a very interesting touristic destination (and this even includes a short guided tour by yours truly). Sign up ASAP at http://www.delphideveloperdays.com/ for your choice to attend to this great Delphi training event.
Delphi XE2 Help Update 5
Embarcadero has released a new version of the RAD Studio help file, including lots of new material. You can see the announcement on Tim Del Chiaro's blog at http://delphi-insider.blogspot.com/2012/04/help-update-5-for-delphi-xe2-and.html.
The download link (for registered users) is at http://cc.embarcadero.com/item/28810 and more information is in the Help Update 5 Readme online at http://docwiki.embarcadero.com/RADStudio/en/Readme_-_Help_Update_5_for_Delphi_and_C%2B%2BBuilder_XE2.
Notice that the same information was already added to the docwiki site over the past weeks, so you could already read this (for example the FireMonkey Quick Start Guide I blogged about last week). But for some developers it is nice to have the information in the local help.
Quite interestingly, at the very moment Embarcadero released this file, attendees at Delphi Developer Days in Chicago were complaining and asking us (and Embarcadero) about the status of the help... which is slowly improving but it is honestly a problem Delphi has. Anders mentioned a new update was coming, but we didn't expect it right away (nor was he hinting this). During the same discussion attendees asked for books... and I promised (again) to finish mine on FireMonkey as soon as possible.
PS. The fact I'm a traveling around the US for this event is the main reason I'm a bit slow in blogging these days... my backlog for the blog is growing!
FireMonkey Links #1
I keep finding interesting information about FireMonkey, so I'm trying to start a series of posts with FireMonkey related links. If you find (or have made) anything else relevant, feel free to forward it to me for inclusion in future blogs posts of this series.
FireMonkey Quick Start GuideEmbarcadero has published a FireMonkey Quick Start Guide tutorial at http://docwiki.embarcadero.com/RADStudio/XE2/en/FireMonkey_Quick_Start_Guide. Doesn't go much in depth, but it is a very good introduction.
TMS Pack for FireMonkeyAfter releasing a few components, TMS Software has released its first FireMonkey components collection, called "TMS Pack for FireMonkey": http://www.tmssoftware.com/site/tmsfmxpack.asp
Biz FlowThe Biz Flow demo is 3D Fish Facts Editor for FireMonkey by Stephen Ball (from Embarcadero UK). The code is at http://cc.embarcadero.com/item/28751. Below you can see a YouTube video introducing the demo:
FireMonkey at Delphi Developer Days
Finally, if you are interested in learning about FireMonkey from me (and Cary Jensen), you can attend Delphi Developer Days (next week int he US or in May in Europe). There is a long technical introduction, an in-depth session about Styles (the real foundation of the library), plus a session covering iOS DataSnap clients. Information at http://www.delphideveloperdays.com/.
That's all for now.
RAD Studio 2012 Survey
Embarcadero has an active RAD Studio Survey, worth taking to suggest your ideas... even if the time frame to take part in the iPad sweepstakes have ended. Link is:
https://www.surveymonkey.com/s/93PTY5X
Takes effectively close to the 30 minutes they suggest, if you want to do it properly. It contains hints on potential future features... guess many of them won't happen, really don't know. I couldn't avoid sharing the list of language features below, though. If you want any of this to have more chance, take the survey!
Delphi Developer Days 2012 London and Amsterdam
This week I was in London for the first stop of the Delphi event I organize with Cary Jensen, and now I'm in Amsterdam half-way through the second stop. Here is some information, some links of blogs mentioning us, and some pictures. Remember there is still a chance for you to sign up to coming stops of the event, both in the US (April) and Europe (May). Attendees and guests seem to like the class...
LondonOur first stop was London, were we had a smaller group of people mostly from the UK and Nordic countries, nice group, very active, and we enjoyed it a lot. Here are a few pictures I took with my phone (not a great quality):
We has Stephen Ball from Embarcadero UK as guest speaker, and he blogged about our event along with a few others at http://blogs.embarcadero.com/stephenball/2012/03/29/we-like-to-get-a-round-a-bit/.
AmsterdamRight now we have done the first day in Amsterdam and here are a few pictures I took:
As you can see above in the first image, we had Bob Swart as guest speaker, but we also had Pawel giving a short introduction on XE2 and he also blogged about his participation at http://blogs.embarcadero.com/pawelglowacki/2012/03/29/39591. He has a picture of myself showing a moving sphere on an iPad, which I've linked below along with another picture I took of Cary listening Bob:
More Events Coming
Two US stops and two more in Europe are coming, so there is still a lot of work for us and a good opportunity for you to attend and learn about new features in XE2 and also review some classic Delphi topics, with a second or more in-depth study.
Some FireMonkey 3D Issues
I've recently noticed some issues with the 3D interface in FireMonkey. At times, it just doesn't work. In that case, check your video card, not your version of Delphi. I felt there were issues with Update 4, while in fact, there were issues on a couple of PCs I and another person were using.
My PC, Double Video CardOddly enough my Dell laptop has two video cards. An on-board Intel video card and an NVIDIA Quadro 1000 M. Both have configuration panels, but at times the system gets a bit messed up. A few days ago (while I was giving a FireMonkey class), after installing Delphi XE2 Update 4, all my 3D programs were just emtpy forms. Not those already compiled (well, not all of them), only new ones. Given other issues, I reinstalled the Update 4, but this didn't help. Getting to the NVIDIA control panel and doing a "Restore Defaults" did the trick, and all programs now work OK.
3D, Virtual Box, and ParallelsAn attendee of the class was having a similar problem. His Mac with Virtual Box and Windows running Delphi in it, was stuck for 3D. he tried to a regular Pc, and all was fine. Installed Parallels on the Mac and found out it was a limitation in the virtualization software (Virtual PC). He suggested to share the information, and I did.
Rome Walk Tour at DDD 2012
The Rome stop of Delphi Developer Days 2012, the Delphi class I organize with Cary Jensen around the world, starting next week from London, will be around mid-May. Given the weather should be great, at the end of the first day I'll offer a a special extra: a (free) walking tour with me as a guide. I'll guide interested attendees for a couple of hours of through some of the city 7 hills and some magnificient squares. Of course, I can only suggest you to spend the weekend after the class for exploring more. We are expecting a good number of international attendees in Rome, and the class will be in English of course.
Sign up while the early bird discount lasts at http://www.delphideveloperdays.com/price_frankfurt_rome.html?rome1=Price+%26+Registration. In the same page, you can still sign up for Frankfurt, but there are really few seats left for that stop. Earlier event in London and Amsterdam (next week) and in Washington and Chicago (mid-April) still have room... but the event is really going to be crowded, energetic, informative... and a lot of fun. Lot's of Delphi content, from classic information to Delphi XE2 Update 4 specific demos!
XE2 Help Update Available and Update 4 Hot-Fix Announced
Yesterday Embarcadero has announced a new update for Delphi XE2 Help (newer than the one distributed with Update 4) and has promised a hot-fix for Update 4 itself.
The Help Release 4 announcement can be found at http://delphi-insider.blogspot.com/2012/03/delphi-xe2-and-cbuilder-xe2-help-update.html (this page includes new areas in the help, like FireMonkey printing support, also listed at http://docwiki.embarcadero.com/RADStudio/en/Readme_-_Help_Update_4_for_Delphi_and_C%2B%2BBuilder_XE2). The downlaod file (for registered users) is at http://cc.embarcadero.com/item/28778, but as you know the "doc wiki" is also available online, using the link above.
On a separate announcement, Delphi product manager JT has blogged about Update 4 hot-fix coming right up. This hot fix will address "a few FireMonkey rendering issues like list control performance issues, fuzzy fonts due to over-aggressive anti-aliasing on some systems" and is due in the coming weeks.
Evening Event by Embarcadero at US Delphi Developer Days 2012
Like in past years, Embarcadero has organized two free evening events in Washington and Chicago during our Delphi Developer Days Tour. You can see the banner above, and sign up at:
http://forms.embarcadero.com/forms/AMUSCA1204DelphiDeveloperDays
The events are on April 16th and 19th, in the two cities. If you are attending our events, you'll be automatically invited... and you get these eevents on top of the additional guest speaker presentation by Jim McKeeth, RemObjects Software, in Washington DC/Baltimore and Ray Konopka, Raize Software, in Chicago.
If you are not attending our event, we'll be more than happy to see you and have a chat. Both myself and Cary are usually around during those events, and available for chatting. Of course, this is another good reason for attending the entire class even if you are from a different US city: you'll get our event, plus an Embarcadero evening.
Still trying to figure out what to set up in Europe. I'm thinking of a "Hills Walk Tour" for Rome, maybe a "Beer Walk Tour" for Amsterdam?
In any case, the events in London and Amsterdam are in 3 weeks: there is still room, sign up now for the Delphi Training Event of the Year: http://www.delphideveloperdays.com
Delphi XE2 Update 4 Dependency Issues?
I (and a few others) found out there are dependencies on older versions of FireMonkey in Update 4. The specific issue I found blocks the Component Wizard (not that this is key piece of the Delphi IDE, but still...). it might depend on seomthing on my machine, or at the opposite because I don't have older versions. Here is the error:
I've reported this on QC as http://qc.embarcadero.com/wc/qcmain.aspx?d=104016. But I've seen a few other related issues.
Seems not everyone can reproduce this. If you installed Update 4, can you double check and offer me feedback? I'll forward to Embarcadero.
Update: Works on a Clean Machine; Made it Work on MineChecked on a clean virtual machine, and indeed it works fine. Now I have to figure out what's wrong in my configuration, maybe a registry setting..... (after some time) I figured out that if a create a new set of registry entries (with the -r command line flag) everything works fine. So it is something in my registry. Tried a compare of the registry trees, but it is quite messy. My assumption is I have some installed packages which refer to older FireMonkey libraries, getting the packages (probably from the package cache) is OK, when you really load them, they fail. The Component Wizard probably loads many, fails one some.
A Not Too Bad SolutionSo in the end I deleted the BDS registry entry for Current User (under Software / Embarcadero / 9.0), got a new snapshot, will have to re-install a few components, but the IDE works fine and the bug is solved.
DataSnap Clients for FireMonkey iOS in Update 4
Delphi XE2 Update 4 adds a very significant extension to FireMonkey on iPhone and iPad: The Ability to create DataSnap client applications for these devices in a very simple way. This is an extremely relevant element of the FireMonkey architecture, and pushes it considerably, that's why it is a bit odd this is not mentioned in the Release Notes for Update 4. maybe they want to keep this secret... of offer it as a surprise to the webinar this Wednesday on Mobile development. If this is the case, sorry to spoil the surprise. Enough preamble, let's see what's available and how to proceed.
First, create a DataSnap server application of any kind, use HTTP (as we are going to use the REST) interface, and enable the use of the Mobile Connectors:
Now run the DataSnap server and connect to it to download the FreePascal support units and proxy class:
http://localhost:8080/proxy/freepascal_ios50.zipCopy these files in a folder, create a new FireMonkey HD iOS application,, saving it in the same folder, add an edit box and a button, and write the following code:
Not the best coding style (for the repeated initialization and missing try/finally blocks) but should give you a good idea. Of course, change the IP address of the machine hosting the server application as seen from the iOS device (so, no "localhost" allowed). You can now compile in Delphi, but cannot run it, as the connection object used is specific to iOS. If you run it on Windows you'll get an exception when the connection is created. Still, you can extend the code with IFDEF statements to have a Windows version.
Now export the project to XCode, go to your Mac, open the project in XCode, compile... and you'll likely see an error. In one of the support units, DSRESTConnection.pas there are references to other units with the wrong case ("Rest" instead of "REST") and since the Mac file system is case sensitive, you'll get compiler errors. Fix this, compile and run, and the program can show up on your phone in a second. Here is it on my iPad (kind of a bare form, but this was just a proof-of-concept):
The program works and all the development took less than 15 minutes, plus the time to found the bug. Very fast and clean. I've already created another more complex client application with the same structure.
Delphi XE2 Update 4
Two days after official release, I've installed Update 4 of Delphi XE2, after downloading the ISO image. The requirement for this installation is to do a fresh install. I took advantage of this for uninstalling Delphi, cleaning up some left over files in Program Files (x86)/Embarcadero and a lot more in ProgramData/Embarcadero. Given I have a relatively small primary SSD drive, I try to keep in clean... and move everything less relevant to the much larger spinning drive.
In the DVD, hit install, picked English language, OKed to the license, entered my company (no, not Microsoft), fetched the serial number, picked Delphi and C++Builder (even if I don't use the latter much), went for all features, and at 9:36 I was goign for the install. Meanwhile, I had a look to the list of fixes as http://edn.embarcadero.com/article/42090. Nice I have two monitors, so I could keep an eye to the installer while browsing the web. Good progress, it started installing the help system (requiring my attention) at 9:44, after going through FastReport and Rave fully unattended. "Help is being installed. This may take an exten ed period of time". So I had to wait. AQTime and FinalBuiler did require my OK. Same for CodeSite at 9:47.
At 9:48 Delphi XE2 was running with Update 4 (see below). 12 minutes after I started installing, including a full Help installation. Of course, given I had already registered the product on this computer, I wasn't prompted to do so. Smooth and so much faster than previous version, Kudos to the team... but I guess my fast SSD drive helps a bit!
PS. As much as I hate the idea of a fresh install, it is good to clean up your computer from time to time.
PS2: I generally wait a bit before installing an udpate, but in this case I had just turned in my "Delphi Mobile" paper for http://www.delphideveloperdays.com/. More on this later, in a separate blog post.
Pictures from Prague and from Italian events
I attended an Embarcadero partners event in Prague 2 weeks ago, where many pictures were taken by Mladen Kuzminski, who was so kind to share them. Here are two pictures of myself.
I've posted some of my own phone pictures at https://plus.google.com/u/0/109099686252303180605/posts/j98LSBdez9i, including the following ones:
I have also some more images from the Delphi events I did with Bittime in Padua and Novara this week and I rewtweeted:
Want to come to see my FireMonkey presentation? Attend Delphi Developer Days! http://www.delphideveloperdays.com/


