Delphi-Quellcode:
function StrAlloc(Size: Cardinal): PChar;
begin
Inc(Size, SizeOf(Cardinal)); //Die Größe des zu reservierenden Platzes um 4 Bytes erhöhen
GetMem(Result, Size); // Speicher reservieren .. soviel wie der String lang ist + 4 Bytes um die Länges des Strings zu speichern
Cardinal(Pointer(Result)^) := Size; //die Größe des Speicherplatzes am Anfang des reservierten Platzes speichern
Inc(Result, SizeOf(Cardinal)); // Den Pointer (PChar) hinter die Größenangabe verschieben
end;
Ein PChar sieht bei Delphi so aus, dass immer vor dem PChar 4 Bytes mit reserviert werden, welche die Länge des Strings beinhalten (+4)
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.