If I am given a TPersistent object, and a method name, is there a way to determine if the name is an event of TNotifyEvent type? For example, given a TPersistent lMyObj and an event name, "OnDataChanged", how can I determine if OnDataChanged is a TNotifyEvent?

 

 

 

 

Code:

function IsNotifyEvent(Sender: TObject; const Event: string): Boolean;

var

PropInfo: PPropInfo;

Method: TNotifyEvent;

begin

Result := False;

PropInfo := GetPropInfo(Sender.ClassInfo, Event);

ifnot Assigned(PropInfo) then

   Exit;

if PropInfo.PropType^.Kind <> tkMethod then

   Exit;

Method := TNotifyEvent(GetMethodProp(Sender, PropInfo));

Result := Assigned(Method);

end;

 

 

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить