Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: Strings in Record-Strukturen: Delphi7 vs. BDS 2009/2010

  Alt 11. Dez 2009, 13:12
Das wurde doch erklärt?

Ein String[x] und ShortString (aka String[255]) entspricht dieser Struktur:
Delphi-Quellcode:
type
  MyShortString = packed record
    Len: Byte; // entspricht Data[0]
    Data: array[1..x] of AnsiChar;
  end;
Ein String/AnsiString/WideString/UnicodeString ist ein Zeiger auf seine Daten,
also im Record steht dort nur der Pointer (mit seinen aktuell 4 Byte) und der Rest (der Stringinhalt) liegt irgendwo anders.
Und der Speicher, auf welchen der Pointer zeigt, wird von Delphi (der CompilerMagic) automatisch verwaltet.

Das ist in allen Delphiversionen gleich. (natürlich solange sie den entsprechenden String-Typen kennen)
$2B or not $2B
  Mit Zitat antworten Zitat