Also zunächst einmal ist das Prüfen des Empfängers eines Events
nicht sinnvoll, denn Events sollen ja gerade beliebig verdrahtet werden können,
ohne dass der Eventauslöser den Empfänger kennt.
Die Eventempfänger sollen anonym bleiben (Geheimnisprinzip der Objekt-orientierten Programmierung).
Aber falls doch, dann so:
Delphi-Quellcode:
function IsSameMethod(a,b:TMethod):Boolean;
begin
Result := (a.Code=b.Code) and (a.Data=b.Data);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
a, b : TMethod;
begin
a := TMethod(Button1.OnClick);
b.Code := @TForm1.Button1Click;
b.Data := Self;
if IsSameMethod(a, b) then
Caption := 'Gleich'
else
Caption := 'Ungleich';
end;