Aber irgend einen owner muss ein objekt doch haben. Und wenn es keinen habenm soll, dann füge es nirgends ein.
Zitat:
Meine Idee wäre es, den Owner nicht automatisch von der Liste vergeben zu lassen (obwohl das komfortabler wäre) sondern das beim Konstruktor als Parameter anzuhängen.
so wie bei TCompoennt? Dort wird es im prinzip ähnlich gemacht:
Delphi-Quellcode:
constructor TComponent.Create(AOwner: TComponent);
begin
FComponentStyle := [csInheritable];
if AOwner <> nil then AOwner.InsertComponent(Self); // <-- AOwner.InsertComponent
end;
...
procedure TComponent.InsertComponent(AComponent: TComponent);
begin
...
Insert(AComponent); // <-- Insert
...
end;
...
procedure TComponent.Insert(AComponent: TComponent);
begin
if FComponents = nil then FComponents := TList.Create;
FComponents.Add(AComponent);
AComponent.FOwner := Self;
end;
...nur das auf die prüfung verzichtet wird.
Aber, darf ich fragen, worauf dein klassen-model (fals du eins hast) im endeffekt hinaus laufen soll? Was willst du realisieren? Wenn wir das wissen, dann können wir das problem evtl. viel gezielter lösen
mâxîmôv.
{KDT}