These are versions which we'll use to test on.
Correct me I'm wrong but if code can be compiled by Delphi XE it should be compiled by Delphi XE6 too.
These are versions which we'll use to test on.
Correct me I'm wrong but if code can be compiled by Delphi XE it should be compiled by Delphi XE6 too.
In theory yes, but it all depends on the language features. The big string compatibility problem came in with D2009, but since then they've been adding a lot of new language features.
The biggest problem is access to compilers. I have access to D5, D2009, XE2 and XE6 (MVP licence) so they'll be the platforms I can support.
:: AthenaOfDelphi :: My Blog :: My Software ::
There was is quite big difference between Delphi XE and Delphi XE2. Main difference is introduction of Namespaces in Delphi XE2 and moving some function into different units.
Now I haven't encountered those problems myself since I used Delphi XE trial version just for quick testing to see what is new since Delphi 7 which I was using before. I then waited a bit for Delphi XE2 to come out and bought that. So I never had to do Delphi XE to Delphi XE2 code porting.
But I read quite many complaints of other pepole about this.
I'm afraid that biggest problem will be LVVM compiler with ARC support that was introduced in Delphi XE5 for MacOS, iOS and Android platform. This introduces several big changes like "weak referencing", calling SomeObject.Free is equal to SomeObject := nil, DisposeOf method to force object destruction, etc.
I'm actually afrad that becouse of these changes we might even need seperate souce codes or heavy use of ifdefs.
Wait doesen't owning of newest version of Delphi grants you acces to all older versions all the way back to Delphi 7?
1. 2.7.x (later 2.8.x)
2. Problem, I don't own Delphi, and I don't think I could afford it right now. Also, considering the price and how often new versions come, I don't think I'd want to.
3. The same code base could support 3 and 4, as well as GLES. There are differences, but with a bit of abstraction it should be possible to support everything.
4. Supporting GLES 2 would be benefitial due to the many devices that support it.
Existence is pain
We need our code to be compiled with Delphi and FPC.
So we can use some subset of language features. We should decide which.
FPC in Delphi mode doesn't support all the features of latest versions (and probably never will).
Personally I'm satisfied with Delphi 7 language features, plus:
1. unicode (D2009, FPC 2.6.2)
2. generics (D2009, FPC 2.6.2)
3. unit namespaces (D2007, FPC 2.7.1)
As I know generics are usable starting from Delphi XE.
We'll need to test various code with generics to check if FPC and Delphi are consistent on that.
And I'd to avoid usage of ifdefs or separate units where possible.
Stable FPC 2.6.2 is very old.
FPC 2.7.1 is pretty stable.
Last edited by Mirage; 26-04-2014 at 02:45 PM.
Sorry to call in, but stable FPC is 2.6.4 ... since it wasn't mentioned before I thought to make a notice about that.
Best regards,
Cybermonkey
I think we could make it language neutral, leaving all that stuff about big strings and unicode in a separated group of units, with helpers to display the correct strings based on error codes or something like if needed.
As generics are not well supported on fpc I think we should avoid them too, specially if we plan to cover all the delphi family as well as the fpc one.
Would a better thread be... what language features should we avoid?
:: AthenaOfDelphi :: My Blog :: My Software ::
Bookmarks