Zitat von
mkinzler:
ein "virtueller" Typ der je nach Inhalt/Einstellung
Spielst du hier auf {$H+/-} an? Ja, es gibt (
hirnamputierte) Leute, die den tatsächlich einsetzen. Ansonsten ist
string[255] auch unter Delphi 2009 noch ein ShortString(=PascalString) bei dem 1 Zeichen gleich 1 Byte ist.
D2007-string = D2007-AnsiString = D2009-AnsiString <> D2009-string = D2009-UnicodeString
Wobei man mit AnsiString unter Delphi 2009 aufpassen muss. So gibt es z.B. zwar die Pos-Funktion auch für diese, nur nutzt der Compiler lieber die
Unicode-Version. Der Compiler wandelt also den AnsiString zuerst in einen UnicodeString um, sucht nach dem Sub-String und liefert die
Unicode-Position zurück, die sich von der
Ansi-Postition unterscheiden kann. Da können schöne Zugriffsverletzungen entstehen. Also besser den Code nicht "ansifizieren" sondern lieber auf
Unicode umstellen, da das einiges an Kopfschmerzen verhindert und man nebenbei all die Schlampereien und den Missbrauch von AnsiStrings als Byte-Array bereinigt.