Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.015 Beiträge
 
Delphi 12 Athens
 
#28

AW: Rekursives Freigeben einer TStringList // Compilerfehler

  Alt 16. Jun 2020, 12:17
Delphi-Quellcode:
destructor TStringTree.Destroy;
var
  i: Integer;
begin
  for i := 0 to Count - 1 do FreeAndNil(Objects[i]);
end;
Es fehlt nicht nur der Aufruf von inherited, sondern unter 10.3 und älter compiliert es gar nicht.

Der Code von DeddyH ist vollkommen ausreichend.

Delphi-Quellcode:
destructor TStringTree.Destroy;
var
  i: Integer;
begin
  for i := 0 to Count-1 do
    Objects[i].Free;
  inherited;
end;
Aber wird bei Objects [i].Free nicht nur der Destruktor von TObject aufgerufen?
Es soll ja aber mein Destruktor aufgerufen werden. Warum muss ich da nicht casten?
Free ruft Destroy auf und das ist virtual .
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat