Selbstgebaute Komponenten?
Die entwickelt man natürlich richtig und nutzt die Notifications von TComponent, damit sich Verlinkungen aufräumen.
Beispiel: TDBGrid.DataSource ... das Property wird automatisch nil, wenn man die TDataSource freigibt.
Delphi-Quellcode:
type
TMyComponentA = class(TComponentDescendant)
private
FLink: TMyComponentB;
protected
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
public
property Link: TMyComponentB read FLink write FLink;
end;
procedure TMyComponentA.Notification(AComponent: TComponent; Operation: TOperation);
begin
inherited Notification(AComponent, Operation);
if (Operation = opRemove) and (FLink = AComponent) then
FLink := nil;
end;