Dass alle Units anders heißen wäre mir auch neu, ich musste nichts ändern.
Wenn du die Projektdateien neu erstellst, dann ist für Vieles bereits ein Standard-Namespace eingerichtet.
Wird die Projektdatei portiert, dann fehlen die.
Aber gut, "alle" ist vielleicht nicht 100%ig richtig, auch wenn es zu 99% eigentlich stimmt, fällt es vielleicht nur zu 5% auf.
Wenn immer "korrekt" programmiert wurde, dann gibt es fast keine Probleme
* dort mit AnsiString/PAnsiChar/AnsiChar, wo wirklich "unbedingt"
ANSI von nöten ist
* und da, wo es vom System abhängig ist, überall mit String/PChar/Char
* bei Schnittstellen (vorallem DLLs) auf Beiden seiten auch gleich
* früher auch schon beim Übertragen zwischen Char <-> Bytes mit *SizeOf(Char) multipliziert, bzw. dort schon immer mit festen Typen (AnsiChar oder WideChar) gearbeitet
Bei 64 bit ist es was Anderes
* nicht mit Integer, sondern mit ... tja, früher war der Integer mal als dynamisch definiert (hat sich geändert, was damals keiner wissen konnte ... bei 16 Bit > 32 Bit war es doch auch schon/noch dynamisch)
OK, bei 16 Bit > 32 Bit wurde die Speicherverwaltung (Pointer) dafür komplett umgekramt und dann nochmal bissl bei Win9x > WinNT
* in C-Sprachen gibt es Typen ala IntPtr, welche unserem NativeInt entsprechen (wäre gut gewesen, wenn man sich selber sowas deklariert hätte, dann bräuchte man nur diese eine Stelle ändern)