@Mavarik: Seit der Umstellung vom "ShortString" (früher String) auf AnsiString, wurde doch schon gesagt, daß der "neue" String ein generischer Typ ist.
Also war es auch Klar, das sich der String irgendwann mal ändern könnte und nur der AnsiString so bleibt, wie er ist.
Es wurde also absolut kein "bestehender Datentyp" geändert. (seit D2 und in Bezug auf Integer/Real/Char)
Von der Definition her ist der String immernoch generisch und er hatte sich intern an das
Unicode angepaßt.
Was wird nur passieren, wenn dann mal auf UCS4 umgestellt wird und der Char dann mal 4 Byte groß ist.
Kann mich gut noch an eine Road-Show erinnern. Der Aufmacher war glaube ich:
"Schaut mal gleicher Sourcecode für Delphi 4 5 & 6..." Das waren noch Zeiten...
Das ist doch immernoch so?
Also wenn man die passenden/richtigen Datentypen verwendet hatte und nicht irgendwelche Pointeroperationen mit "falschen" Datengrößen verwendet.