Autor Beitrag
winx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 249



BeitragVerfasst: Mo 29.08.05 15:01 
Hi,

wenn man in D2005 Anwendungen schreibt, müsste es doch dafür einen Garbage Collector geben oder?

Ist der nur bei .Net Projekten oder aber auch bei Win-32 Projekten dabei???

Danke,
winx


Moderiert von user profile iconChristian S.: Topic aus Sonstiges verschoben am Mo 29.08.2005 um 15:47
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 29.08.05 15:15 
Hallo!

Die GC ist Teil des .NET Frameworks und nicht Teil von Delphi 2005 ansich. Daher gibt es ihn auch nur in .NET-Anwendungen.

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
winx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 249



BeitragVerfasst: Mo 29.08.05 15:29 
und wie gut oder schlecht funktioniert dieser???
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 29.08.05 15:50 
Hallo!

Hm, kann ich nicht so beurteilen. Die Programme, die ich bisher in .NET geschrieben habe, waren alle nicht so speicherintensiv, dass ich da Erfahungen mit sammeln konnte. :nixweiss:

Und da man unter .NET sowieso keine andere Wahl hat, als damit zu leben, habe ich auch nicht weiter nachgeforscht ;-) Allerdings genieße ich es, mich nicht mehr ums Freigeben von Speicher kümmern zu müssen. Ein Blich auf meinen Schreibtisch zeigt, dass ich es allgemein nicht so mit dem Aufäumen habe ;-)

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Marauder
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 72



BeitragVerfasst: Mo 29.08.05 21:13 
Die Garbage Collection funktioniert erstaunlich gut, auch bei speichermordenden
Anwendungen. Wenn du es aber eilig hast und extra-Speicher brauchst mach es von Hand:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TWinForm.Button1_Click(sender: System.Object; e: System.EventArgs);
begin
  gc.Collect;
end;


Das ist auch interessant...
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TWinForm.Button2_Click(sender: System.Object; e: System.EventArgs);
var aString : array of String;
    a : Integer;
begin
  Messagebox.Show ( 'Schätzwert für die reservierte Anzahl von Bytes momentan : ' + gc.GetTotalMemory(false).toString);
  setLength (aString,100);
  for a := 1 to 99 do
    begin
        aString [a] := 'Stringwert '+ a.ToString;
    end;
  Messagebox.Show ( 'Schätzwert für die reservierte Anzahl von Bytes nach Arraybefüllung : ' + gc.GetTotalMemory(false).toString);
  gc.Collect;
  Messagebox.Show ( 'Schätzwert für die reservierte Anzahl von Bytes nach GC.Collect : ' + gc.GetTotalMemory(false).toString);
end;


Das und noch ein paar mehr Beispiele gibt's ab Oktober in meinem Buch 'Delphi goes .NET' :wink:
(Falls ich's vor meinem Urlaub noch fertig bekomme... die Chancen stehen gut... :D
wenn nicht, zieht mir der Verlag das Fell über die Ohren...)