Einzelnen Beitrag anzeigen

Hybrid666

Registriert seit: 15. Jul 2006
Ort: Erster Stock
250 Beiträge
 
Delphi 7 Personal
 
#7

Re: Freigeben einer Pointerstruktur

  Alt 15. Jun 2009, 20:05
Zitat von himitsu:
Zitat von Der.Kaktus:
Hallo,
da es sich in Deinem Fall um eine verkettete Liste handelt, mußt Du am Ende anfangen den Speicher wieder freizugeben.
ja oder am Anfang und dann über eine Temp-Variable das aktuelle Objekt merken bzw. vorm Freigeben darin .Next zwischenspeichern.
nein muss ich nicht.

Ich prüfe ob das aktuelle element nicht nil ist, wenn ja, dann
... prüfe ob die unterliste PCommands existiert -> FreeCommand aufrufen
... prüfe ob .Next existiert, wenn ja, erst FreeMakro (Anchor.Next) aufrufen
dann erst Aktuelles element freigeben


das heißt, die rekursion ist so aufgebaut, das vor dem zerstören des aktuellen elements, erst das nächste zerstört wird, also muss ich nix mit temp elementen speichern oder ähnliches, es ist gewährt das das freigeben hinten anfängt, nicht vorne.

MfG
  Mit Zitat antworten Zitat