Hola,
Si estás usando Delphi 2010 o superior, tal vez te interese revisar la RTTI extendida, que permite hacer muchas más cosas que TypInfo y de forma más sencilla (más orientada a objetos). Simplemente incluye en el uses "RTTI", y añádete una variable de TRTTIContext, y verás cómo es más o menos sencillo:
Código Delphi
[-]
function MethodAssigned(const aObject: TObject; const MethodName: string): Boolean;
var
LContext: TRttiContext;
LValue: TValue;
LEvent: TNotifyEvent;
begin
LValue:=LContext.GetType(aObject.ClassType).GetProperty(MethodName).GetValue(aObject);
LEvent:=LValue.AsType(); if assigned(LEvent) then
LEvent(Self);
end;
Un saludo,
LoPiTaL