Hallo!
Folgendes Problem:
Delphi-Quellcode:
type
TMeineKlase = class(TObjekt)
private
procedure MachIrgendwas;
...
end;
...
procedure TMeineKlasse.MachIrgendwas;
var Obj: TEinObjekt;
str: string;
procedure IrgendwasPassiert(Param1: string; Param2: integer);
begin
ReagiereIrgendwie();
str := str + Param1;
end;
begin
Obj := TEinObjekt.Create;
Obj.OnIrgendwas := IrgendwasPassiert;
Obj.MachWas;
Obj.Free:
end;
In der Methode MachIrgendwas() einer eigenen Klasse wird also ein Objekt erzeugt und ein EventHandler zugewiesen. Beim Compilieren erhalten ich aber immer die Meldung
E2009 Inkompatible Typen: 'Methodenzeiger und reguläre Prozedur'.
Das Ereignis TEinObjekt.OnIrgendwas ist dabei vom Typ TIrgendeinEvent:
Delphi-Quellcode:
...
TIrgendeinEvent = procedure(Param1: string; Param2: integer) of object;
...
Die Signatur der lokalen Procedure IrgendwasPassiert() passt also zu TIrgendeinEvent und trotzdem erhalte ich die genannte Fehlermeldung.
Was mache ich hier falsch?
Besten Dank für eure Hilfe!
Ares