скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Как определить, является ли метод потомком TNotifyEvent



Автор: Jack Sudarev

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?

function IsNotifyEvent(Sender: TObject; const Event: string): Boolean;
var
  PropInfo: PPropInfo;
  Method: TNotifyEvent;
begin
  Result := False;
  PropInfo := GetPropInfo(Sender.ClassInfo, Event);
  if not Assigned(PropInfo) then
    Exit;
  if PropInfo.PropType^.Kind <> tkMethod then
    Exit;
  Method := TNotifyEvent(GetMethodProp(Sender, PropInfo));
  Result := Assigned(Method);
end;





Copyright © 2004-2018 "Delphi Sources". Delphi World FAQ


Clever Internet Suite

Интернет-компоненты Clever Internet Suite — набор компонентов для Delphi/C++Builder, позволяющих реализовать обмен данными по сети в вашем приложении. С помощью Clever Internet Suite вы можете реализовать различные функции для работы в сети интернет: скачивание файлов, отправка данных, введенных пользователем, рассылка и получение почты, использовать клиенты HTTP, FTP, SMTP, POP3, IMAP и NNTP; серверы SMTP, POP3, IMAP и FTP и многое другое.



Группа ВКонтакте   Facebook   Ссылка на Twitter