Thema: Delphi Problem mit Zeigern

Einzelnen Beitrag anzeigen

Macci

Registriert seit: 31. Mai 2007
129 Beiträge
 
#56

Re: Problem mit Zeigern

  Alt 1. Mär 2008, 16:53
Zitat von praesident:
könntest du das mit dem speicher freigeben viellt. mal kurz näher erläutern?
noch etwas, was uns nicht gesagt wurde...
Also Freigeben ist das Gegenteil von Reserverien (was du z.B. mit "new(zhilf)" machst). Wenn du das Element aus dem Keller holst, ist es nicht nötig, selbiges Element noch weiter im Speicher zu behalten. Deswegen gibt man diesen Speicher dann mit Dispose frei. Würde man auf dieses Freigeben verzichten, würde das Programm zwar trotzdem ganz normal funktionieren aber unter Umständen Unmengen an Speicher verbrauchen. Wenn du z.B. in deinen Keller 1 Million Elemente einlagerst, ist dein Keller ja ca. 5 MB groß (wenn ich die Defintion von TZeiger jetzt richtig im Kopf habe). Holst du anschließend diese Elemente aller wieder raus, wären aber immer noch 5 MB Müll im Hauptspeicher, was natürlich sehr hässlich ist. In Java gibt es dafür z.B. einen Garbage Collector, der diesen Müll automatisch aufsammelt, in Delphi muss man das von Hand machen (was ich übrigens besser finde, weil kein unnötiger Thread aktiv sein muss) - hier mit Dispose. Objekte dagegen müssen mit .Free freigegeben werden.
  Mit Zitat antworten Zitat