Moin Chewie,
Zitat von
Chewie:
Eine Variable vom Typ String stellt einen Zeiger auf eine String-Struktur dar, die so aussieht, dass zunächst ein 4 Byte großer Referenzzähler, gefolgt von einer 4 Byte großen Längenangabe gespeichert wird.
Fast
Der Zeiger zeigt auf das erste Datenbyte, wenn die Länge > 0 ist. Davor, also auf Zeiger-4 beginnt der Längenzähler, auf Zeiger-8 der Referenzzähler.
Delphi-Quellcode:
var
s : string;
begin
s := StringOfChar(#32,800);
ShowMessage(IntToStr(PDWORD(PChar(s)-4)^)+#13#10+IntToStr(PDWORD(PChar(s)-8)^));
end;