Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Inhalt einer TStringList in ein dynamisches String Array

  Alt 5. Mai 2009, 10:13
nein, WideStrings werden von der CompilerMagic an die WinAPI weiterrereicht und dann auch automatisch reservier/freigegeben, allerdings besitzen sie keine Referenzzählung,


also bei
Delphi-Quellcode:
Var S, S2: WideString;

S := S2;
wird nicht nur ein winziger Referenzzähler verändert, so wie bei Ansistring,
sondern es wird eine komplett neue Kopie des gesamten Strings angefertigt und an S übergeben.


[add]
Length wird sozusagen an SysStringLen weitergeleitet (wobei das optimiert wurde, da kurz vor dem OLEString die Größe steht, also wird diese einfach direkt ausgelesen und durch 2 geteilt, da Größe in Byte)

und der Rest wird an SysAllocStringLen, SysReAllocStringLen und SysFreeString
weitergeleitet,
also wenn eine WideString-Variable initialisiert/finalisiert oder irgendwo verändert wird
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat