Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.312 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)
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat