Thema: Delphi Problem mit Programm

Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Problem mit Programm

  Alt 12. Jan 2007, 18:34
Moin Michael,

irgendwie fehlt mir da der Destructor.

Delphi-Quellcode:
procedure TPlayerCollection.Free;
var
  i: Integer;
begin
  for i := 0 to self.Count - 1 do
    self.Items[i].Free;
  // Mindestens
  inherited Free;
end;
wäre besser
Delphi-Quellcode:
TPlayerCollection = class(TList)
//...
public
  destructor Destroy; override;
  // entfällt ersatzlos
  procedure Free;
//...

destructor TPlayerCollection.Destroy;
var
  i: Integer;
begin
  for i := 0 to self.Count - 1 do
    self.Items[i].Free;
  inherited;
end;
Zugegeben, bei TList spielt das keine grosse Rolle, da diese ja direkt von TObject abgeleitet ist, aber so ganz sauber ist es nicht

Warum eigentlich nicht gleich eine TObjectList?
Da OwnsObjects hier standardmässig auf true steht, würdest Du Dir die Freigabe der Objekte sparen können.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat