Einzelnen Beitrag anzeigen

Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#4

AW: Destructor notwendig bei class?

  Alt 13. Jun 2012, 12:46
Für Objects würde ich aber keine TStringList verwenden, sondern eine TList.
AllesFreigeben würde ich nie in einer for-Schleife machen sondern:
Delphi-Quellcode:
procedure AllesFreigeben;
var
  aObj : TMyObject;
begin
  //Schleife über die TStringList zum Freigeben der Objekte...
  while Liste.Count > 0 do
  begin
    aObj := Liste.Objects[0] as TMyObject;
    if Assigned(aObj) then FreeAndNil(aObj);
    Liste.Delete(0); //auch Listeneintrag löschen
  end;
  //evtl. auch gleich Liste freigeben
  Liste.Free;
end;
Ein destructor ist nur dann zweckmäßig, wenn im Create des Objects etwas erzeugt wird, dass vor dem Freigeben des Objechts ebenfalls freigegeben werden muss.
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat