AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Code-Bibliothek Neuen Beitrag zur Code-Library hinzufügen Delphi Inhalt einer TStringList in ein dynamisches String Array
Thema durchsuchen
Ansicht
Themen-Optionen

Inhalt einer TStringList in ein dynamisches String Array

Ein Thema von HeikoAdams · begonnen am 5. Mai 2009 · letzter Beitrag vom 5. Mai 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von himitsu
himitsu

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

Re: Inhalt einer TStringList in ein dynamisches String Array

  Alt 5. Mai 2009, 11: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
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Inhalt einer TStringList in ein dynamisches String Array

  Alt 5. Mai 2009, 11:20
Man könnte auch sagen, bei widestrings ist der imaginäre Referenzzähler immer 1. Und sobald eine Variable vom Typ WideString ihre Gültigkeit verliert wird der String freigegeben.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz