AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

garbage collection bei widestrings?

Ein Thema von sancho1980 · begonnen am 27. Okt 2006 · letzter Beitrag vom 27. Okt 2006
Antwort Antwort
sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#1

garbage collection bei widestrings?

  Alt 27. Okt 2006, 09:58
hallo mal eine frage:
wisst ihr ob es bei widestring garbage collection gibt, also werden nicht mehr referenzierte widestrings automatisch freigegeben?

danke,

martin
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: garbage collection bei widestrings?

  Alt 27. Okt 2006, 10:15
Also generell gibt es unter Delphi Win32 gar keine Garbage Collection. Aber der Speicher für (Wide-)Strings wird automatisch wieder freigegeben, ja.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#3

Re: garbage collection bei widestrings?

  Alt 27. Okt 2006, 10:20
Zitat von sakura:
Also generell gibt es unter Delphi Win32 gar keine Garbage Collection. Aber der Speicher für (Wide-)Strings wird automatisch wieder freigegeben, ja.
Merkt man auch schön wenn man beim Debuggen eine WideString-lastige App abbricht zurück in die IDE wechselt...

Nett ist natürlich einen "richtigen" String typen zu haben, mit dem auch andere Sprachen etwas anfangen können.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#4

Re: garbage collection bei widestrings?

  Alt 27. Okt 2006, 10:22
ok
das problem ist, dass ich in meiner anwendung einen widestring nach und nach zusammenbaue, also nach dem prinzip:

widestringvar := '';
while (irgendwas)
begin
widestringvar := widestringvar + irgendwasneues;
..noch anderer code
end;

da wird ja soviel ich weiß bei jedem schleifendurchlauf ein neuer string erzeugt und ich hatte mir so überlegt was denn dann mit den ganzen strings wird, die dadurch überflüssig werden (vom vorherigen schleifendurchlauf...

geht das aber vielleicht auch eleganter, dass also "irgendwasneues" einfach an den alten string angehängt wird?



danke,

martin
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#5

Re: garbage collection bei widestrings?

  Alt 27. Okt 2006, 11:18
Zitat von sancho1980:
Delphi-Quellcode:
widestringvar := '';
while (irgendwas)
  begin
    widestringvar := widestringvar + irgendwasneues;
    ..noch anderer code
  end;
1. Ist ein Widestring (swoeit ich weiß primitiv) D.h.:
  • Alles was du nicht instanzierst, brauchst du auch nicht freigeben:
    Delphi-Quellcode:
    procedure doSomething(name : string);
    var
      myStr : WideString;
    begin
      myStr := 'Hallo,';
      myStr := myStr + #10#13 + 'heißt du ' + name + '?';
      Showmessage(myStr);
    end;
    Hier ist nirgends ein
    VarName := Vartyp.Create also brauchst du kein
    VarName.Free
2. Wird da nichts neues erzeugt. Es wurd nur widestringvar etwas hinzugefügt...
3. Garbage Collection

PS: Um Delphi Code immer ein
Code:
[delphi]MyDelphicode[/delphi]
machen
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:34 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