Forum: Die Delphi-IDE
by himitsu,
28. Feb 2018
Ist eigentlich recht einfach, siehe kurzes Beispielcode.
Du hast eine Referenz zu einer externen oder fremden Komponente, welche jemand löschen könnte.
Nun sagst du dieser Komponente via FreeNotification "Gib mir Bescheid, wenn du verschwindest".
Das macht diese Kompnente dann im Notification-Event, wo du die Verbindung zwischen den Komponenten trennen kannst, also z.B. deine Variable auf...
Forum: Die Delphi-IDE
by himitsu,
28. Feb 2018
Man muß es nur richtig machen. :zwinker:
type
TMyClass = class(TComponent)
private
FInstance: TComponent;
procedure SetInstance(Value: TComponent);
protected
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
published
Forum: Die Delphi-IDE
by himitsu,
28. Feb 2018
Achtung, bei Allem während der Ausführung des Contructor, da ist ComponentState noch nicht gesetzt. (geht ja erst nach Erstellen der Klasse, bzw. man hätte es machen können, ähnlich wie beim csDestroying, dachte aber nicht dran)
Aber da kann man sich behelfen, wenn man nach csLoading oder csDesigning im Owner.ComponentState schaut.
> beim Aufrufen von Gettern/Settern im Constructor muß also...