I’m using Delphi XE-5 for development and they are contradictory.
I think that person who is responsible for whole product is truly visionary and he actually saved future of whole product.
The fact that you can by one code develop under Windows (32 or 64bit), Mac, Android and iOS is just amazing.
And it’s really working.
But there are also bad things. There are some decisions that was made and that makes me crazy.
1) Strings at the iOS are indexed from 0 and under windows from 1. That creates lot of problems for way how I work with strings.
2) When implementing the libraries of iOS only 20 from all of them was implemented. What about the MIDI libraries people? Fortunately this can be easily handled, by implementing them my self.
UPDATE: here is my project Delphi implementation of missing iOS frameworks that implements the missing libraries like MIDI.
3) No multitouch – you can’t get into the application way how to get if user touched the screen with more than one finger. We manage to handle that by very nasty way, but it works. I should post that in next few days, once I’ll handle the project I’m working on.
4) Change from AnsiStrings to WideString between D2007 and D2009 was just insane. Why I can’t define for my project if the String is AnsiString or WideString? I have project with 3,5 millions line of code (TimeMaker) and how I can migrate that guys?
5) The deployment manage is just a nightmare.
– First: it allows you to add files that would not work under certain systems – you can’t have coma in name of file under iOS. You can’t have numbers or uppercase letters under Androids.
– Second: if you want to have at your project some structure of data (for both systems) you must set everything manually and it’s just impossible.
To handle that I wrote this application that will allow you to manage your data. It’s expect that your data are at some root folder. You just need to open the project, select the structure and you will see all the data. Then just mark files you want to include and press Update DPROJ.
Reload button will update the files list from the disk.
The prefixes StartUp\Documents\ for iOS and assets\internal\ for Android can be accessed from you code by calling System.IOUtils.TPath.GetDocumentsPath
It’s really easy to use.
I need to add there validation of the files, but that will come with new version.
Download it here:
Let me know if you need more features.
Back to Delphi: I’m not talking about the bugs that Delphi has from version 2007 and no one fixed them. For example when you are in debug and you use conde insight, it will not work – that’s ok. But then when you stop debug mode, code insight still not works. You need to start compile and cancel the compilation to make it working.
How long this take to fix? 30 min max.
Despite all my complains, Delphi are just great and I’m going to do more projects in them. I hope that the Embarcadero who is now developing them, will handle those issues quickly.