Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#7

AW: Freigabe von verknüpften Komponenten

  Alt 13. Jun 2016, 11:59
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;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (13. Jun 2016 um 12:10 Uhr)
  Mit Zitat antworten Zitat