Abgesehn von Assemblerbefehlen würde sich theoretisch alles von D2007- nach D2009+ reibungslos portieren lassen, samt Umstellung auf
Unicode.
Dafür hätte man aber früher eben alles "korrekt" geschrieben haben müssen.
> Da wo bytegenaue Daten nötig sind
> z.B. Datenübertragung und binäre Speicherung
= packed Records
= feste Typen (AnsiChar, AnsiString, WideString, LongInt und Co.)
> beim Rest
= die compiler-/systemabhängigen Typen (Char, String, Integer)
Und vorallem keine willden Vermischungen dieser Typen
also entweder deine Bibliotheks-Units nach obrigen Regeln umgestalten
und dann auch die Anwendungen
oder eben alles doppelt
Bibliotheks-Units auf neusten Stand bringen
und die alten Anwendungen mit 'ner alten Kopie dieser Units betreiben
CodeGear hatte ja netter Weise die Standardunits nur typenmäßig umgestellt
AnsiUpperCase ist in D2009/2010
Unicode, so daß man bei der Umstellung da nichts ändern muß.
Will man beim Neuschreiben von Anwendungen aber wirklich mal
Ansi, dann muß man sich eine Andere
Unit einbinden ... ebenso für eine mehr nach
Unicode klingenden Funktionsnamen