Hi zusammen
Irgendwie haben die Delphi-Events scheinbar etwas gegen mich. Zurzeit führe ich solch ein Ding neu ein. Dabei ist das Fehlen von Const-Deklarationen und ähnlichem schon Routine - will heissen, vor allem anderen untersuche ich mal die gemachten Deklarationen. Und das sollte es dan auch gewesen sein.
Sollte!!
Denn bei der Zuweisung des Eventhandlers zum Event (in Mainform.Create)
Delphi-Quellcode:
FDMySQLDml.OnStartCategoryQuery := Self.DoOnStartCategoryQuery; // <== Keine Probleme
Self.DlgFrameContainer1.PathFinderFrame1.OnPathListEvent := TFDMySQLDml.DoPathlistEvent;
meckert Delphi:
Zitat:
[dcc32 Fehler] CM_FirstUnit.pas(562): E2010 Inkompatible Typen: 'TPathListEvent' und 'Procedure''
Ich hab mir die Strukturen der Event-Deklaration und Implemetierung mal aufgeschrieben:
Zitat:
Deklarationen des Events:
Der Typ des Events im Pathfinderframe:
TPathListEvent = procedure(Sender:TObject; const Ordner: String; const Pathlist: TStringList) of Object;
Das private Feld des Events :
FOnPathListEvent: TPathListEvent;
Das Public-Property des Events
property OnPathListEvent: TPathListEvent read FOnPathListEvent write FOnPathListEvent;
Der Event wird gefeuert :
if Assigned(OnPathListEvent) then
OnPathListEvent(Sender, Ordner, Pathlist);
Deklaration des Eventhandlers:
procedure DoPathlistEvent(Sender: TObject; const Ordner: String;const Pathlist: TStringlist);
Implementation des Eventhanlers: (Procedurekopf)
procedure TFDMySQLDml.DoPathlistEvent(Sender: TObject; const Ordner: String;
const Pathlist: TStringlist);
Die Zuweisung des Eventhandlers an das Event im Mainform.Create:;
Self.DlgFrameContainer1.PathFinderFrame1.OnPathLis tEvent := TFDMySQLDml.DoPathlistEvent;
In dieser Oncreate sind mehrere Eventzuweisugnen mit identischem Aufbau vorhanden - umso weniger verstehe ich die Fehlermeldung...
Was ist da falsch?
Gruss
Delbor