Ich kann mich an der Stelle nur Wiederholen: Das so ein Schweinkram passiert, konnte man zu Delphi 5 Zeiten nichtmal erahnen.
Nein ... mindestens seit Delphi 2 oder 3 waren diese Typen als "dynamisch" deklariert und man hätte sich da denken können, daß rein theoretisch mal die Chance bestehht, daß sich da mal etwas ändern kann.
Integer (die wurden ja nun eingefrohren und statdessen in Delphi die Native-Typen eingeführt)
Cardinal
NativeInt
NativeUInt
IntPtr
Pointer und alle sonstigen Zeiger
Char
PChar
String
Real
String[123] ist ein ShotString. Dieser ist
ANSI geblieben und es gibt keine UnicodeVersion davon.
Ganz früher (z.B. in Delphi 1) war "String" noch das, was jetzt der ShortString ist ... bis dann die LongStrings (AnsiString, UnicodeString, sowie die von AnsiString abgeleiteten Typen ala UTF8String und RawByteString) eingeführt wurden.