Einzelnen Beitrag anzeigen

Meta777

Registriert seit: 8. Sep 2004
Ort: Magdeburg
248 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: TComponent.Destroying nicht virtual!?

  Alt 5. Aug 2010, 17:57
@Uwe Raabe:
Im Constructor der Komponente wird das OnDestroy in einer Feldvariable gespeichert und neu gesetzt:
Delphi-Quellcode:
    ...
    FOwnerOnDestroy := TForm(AOwner).OnDestroy;
    TForm(AOwner).OnDestroy := OwnerOnDestroy;
    ...
wird des Form dann geschlossen wird "OwnerOnDestroy()" aufgerufen:
Delphi-Quellcode:
  ...
  Self.SaveComponentsProps();

  if Assigned(FOwnerOnDestroy) then
    FOwnerOnDestroy(Owner);
funktioniert ja so weit auch. hätte gehofft das es was "schickeres" / praktischeres gibt...

@sx2008:
Hatte ich auch probiert aber das Formular sendet ja keine notification zu child-komponenten wenn es gefreed wird sondern nur wenn child-komponenten des owners freigegeben werden.
Die abfrage "if (Operation = opRemove) AND (AComponent = Owner) then" funktioniert also nicht.

shalom
  Mit Zitat antworten Zitat