Einzelnen Beitrag anzeigen

dr. love

Registriert seit: 10. Jan 2007
92 Beiträge
 
#1

Notification bei Komponente abgeleitet von TControl

  Alt 23. Mär 2007, 12:48
Ich bastle gerade eine Testkomponente, die von TComponent abgeleitet wird. Im Objektinspektor soll der Anwender später ein bestimmtes Editfeld (z.B. zur Ausgabe von Infos) auswählen können. Damit es aber bei der Freigabe der zugewiesenen Komponente nicht zu Problemen kommt, möchte ich den Zeiger auf das Editfeld per NOTIFICATION auf NIL setzen. Leider bekomme ich jedes mal beim Compilieren einen Fehler... wisst ihr woran es liegt?

Delphi-Quellcode:
 unit BeispielComp;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Stdctrls;


type
  TBeispielComp = class(TControl)
  private
    FEdit: TEdit;
  protected
    procedure Notification (AComponent: TComponent; Operation: TOperation); override;
  public
    constructor Create (AOwner: TComponent); override;
  published
    property Edit: TEdit read FEdit write FEdit;
  end;

procedure Register;

implementation

constructor TBeispielComp.Create (AOwner: TComponent);
begin
  inherited Create (AOwner);
  FEdit:=nil;
end;

procedure Notification (AComponent: TComponent; Operation: TOperation);
begin
  inherited Notification(AComponent, Operation); {hier kommt der Fehler: "this form of method call only allowed in methods of derived types"}
  if (Operation=opRemove) and (AComponent=FEdit)
  then FEdit:=nil;

end;


procedure Register;
begin
  RegisterComponents('Samples', [TBeispielComp]);
end;

end.
  Mit Zitat antworten Zitat