Einzelnen Beitrag anzeigen

SvB

Registriert seit: 21. Okt 2004
Ort: Eckenroth
426 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#38

Re: Verwalten von Objekten in einer Container-Klasse

  Alt 17. Apr 2007, 14:48
Hallo,

sehr interessant, da ich auch gerade so was brauche und auch einiges schon selbst sehr ähnlich gemacht habe.
Um mein Verständnis etwas zu erweitern, bzw. Euren Rat einzuholen folgende Frage / Erweiterung - ist das so OK:
Kann ich Methode wie folgt implementieren. Alles was im Beispiel gleich ist, habe ich jetzt hier nicht mehr reingepakt.

Delphi-Quellcode:
TContactList = class(TObject)
private
  FOnContactAdded: TNotifyEvent;
public
  destructor Destroy; override;
  function AddContact: TContact;
  procedure DeleteAllItems;
end;

TContactList.AddContact: TContact;
begin
  Result := TContact.Create(self);
  FInnerList.Add(Result);
  if Assigned(FOnContactAdded) then FOnContactAdded(Result);
end;

TContactList.DeleteAllItems;
var
  i : Integer;
begin
  if FInnerList.Count > 0 then begin
    for i := FInnerList.Count - 1 downto 0 do begin
      TObject(FInnerList.Items[i]).Free;
    end;
  end;
  FInnerList.Clear;
  // Würde FInnerList.Clear nicht auch alle Objekte freigeben?
end;

destructor TContactList.Destroy;
begin
  DeleteAllItems;
  FInnerList.Free;
  inherited;
end;
Was meint Ihr?

Grüße
Sven
  Mit Zitat antworten Zitat