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