Einzelnen Beitrag anzeigen

IntelliSoft

Registriert seit: 8. Apr 2021
9 Beiträge
 
Delphi 10.3 Rio
 
#1

Eigene Komponente Event veröffentlichen

  Alt 22. Apr 2021, 13:06
Hallo

Ich bin gerade dabei meine erste Komponente für ein FMX Projekt zu erstellen & habe folgenden Code geschrieben:

Delphi-Quellcode:
unit TTextBoxDelay;

interface

uses
  System.SysUtils, System.Classes, FMX.Types, FMX.Controls, FMX.Objects, FMX.Edit;

type
  TTimerHandlerEvent = procedure(const aSearchText:string) of object;

  TTextExtension = class(TEdit)

  private
    procedure TimerHandler(Sender: TObject);
  protected

  public
    OnTimerDelayed: TTimerHandlerEvent;

    constructor Create(AOwner: TComponent); override;

  published

    procedure TimerDelayed(const SearchText:string);

  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Standard', [TTextExtension]);
end;

constructor TTextExtension.Create(AOwner: TComponent);
begin
     inherited Create(AOwner);
end;

procedure TTextExtension.TimerHandler(Sender: TObject);
 begin
 end;

 procedure TTextExtension.TimerDelayed(const searchText:String);
 begin
   if Assigned(OnTimerDelayed) then begin
      OnTimerDelayed(searchText);
   end;
 end;

 

end.
Ich kann die Komponente soweit auf eine neue Form legen. Sehe aber im Ereignis-Reiter mein Ereignis nicht & kann somit nicht darauf ragieren...
Ich gehe davon aus, dass das Problem bei "OnTimerDelayed: TTimerHandlerEvent;" liegt, da das nur als Public deklariert ist, wenn ich es aber in published schiebe, bekomme ich eine Fehlermeldung...

Bitte um Hilfe, wie ich das richtig mache.

DANKE im Voraus
  Mit Zitat antworten Zitat