Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: Strings und Ansistrings, Nullterminiert?

  Alt 25. Feb 2012, 08:20
Der WideString ist und war immer "nur" eine Weiterleitung/Kapselung von Funktionen der oleaut32.dll
MSDN-Library durchsuchenSysAllocStringLen
MSDN-Library durchsuchenSysReAllocStringLen
MSDN-Library durchsuchenSysFreeString
MSDN-Library durchsuchenSysStringLen

Der UnicodeString ab Delphi 2009 ist dageben genauso aufgebaut, wie der AnsiString.

Das ist der Aufbau des UnicodeString (sowie des AnsiString):
Ab D2009 wurde nur noch das codePage und elemSize eingeführt, für das besch* umgesetzte StringChecking.
Delphi-Quellcode:
StrRec = packed record
  codePage: Word;
  elemSize: Word = SizeOf(WideChar);
  refCnt: Integer;
  length: Integer;
  data: array[0..x] of WideChar;
  null: Char = #0;
end;
Der interne String-Zeiger zeigt auf data[0] oder auf NIL, bei einem Leerstring.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat