Man muss beachten dass
-AnsiChar <> Char / PAnsiChar <> PChar
-string <> AnsiString
-ShortString = AnsiString
-ShortString <> string
-Length(<string>) <> SizeOf(<string>)
Um das hier richtigzustellen:
-ShortString <> AnsiString !
Shortstring ist nämlich das aus Turbozeiten bekannte Konstrukt mit maximaler Länge von 255 Bytes und einem (in Position 0) vorgesetzten, potentiell manipulierbaren Längenbyte. Also komplett anders konstruiert als der dynamisch verwaltete Ansistring.