Quote Originally Posted by AthenaOfDelphi View Post
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.
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.

Quote Originally Posted by AthenaOfDelphi View Post
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.
Wait doesen't owning of newest version of Delphi grants you acces to all older versions all the way back to Delphi 7?