Einzelnen Beitrag anzeigen

Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#36

Re: Methode "Free" selbst implementieren (Assemble

  Alt 24. Feb 2005, 14:45
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}
  Mit Zitat antworten Zitat