Zitat:
Ist ein 'string[23]' nicht eine Art Shortstring und dann intern ein Konstantenarray of Char und kein dynamischer 'string' mehr?
Um genauer zu sein ist String[L] als "Typ" ist ein ShortString mit bestimmter Länger (ShortString selbst ist 255 lang)
und PString ist ein Pointer auf String, was ein LongString ist, hier genauer ist es ein Alias für einen UnicodeString (seit Delphi2009) und davor was es ein AnsiString. (ganz früher, vor Delphi2, war String
der ShortString, auch wenn er damals noch nicht so heiß)
ShortString ist ein "statisches Array" mit LängenByte (im Char 0 ... drin fangen Strings bei 1 an zu zählen), also der ShortString ist quasi ein "Record",
und LongStrings sind aufgemotzte "dynamische Arrays" mit Referenzzählung, abschließender #0#0 uvm, also quasi ein Pointer.