Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Передача ссылки на метод класса. [D7, WinXP]


Darrin ©   (2004-10-26 19:12:00) 

Доброго времени суток.
Подскажите пожалуйста, как передать в процедуру ссылку на другую процедуру (метод какого-либо класса), а потом по этой ссылке обратиться к методу.
При попытке присвоить ссылку на метод переменной типа Pointer, P: Pointer;
....
P:=@MyMetod;
компилятор требует указать входящие переменные.
Заранее спасибо.
З.Ы. Тобишь охото передать ссылку на метод, как то делается в API методе SetWindowsHookEx(WH_mouse, @GlobalMouseHook,HInstance, 0);


Darrin   (2004-10-26 22:42:00) [1]

>> Юрий Зотов ©   (26.10.04 19:42) [1]
Спасибо.


Юрий Зотов   (2004-10-26 19:42:00) [2]

type

 TShowMsgProc = procedure(const Msg: string) of object; {!!!}

 TForm1 = class(TForm)
   procedure FormClick(Sender: TObject);
 private
   procedure ShowMsg(const Msg: string);
 end;

implementation

procedure CallMethod(Proc: TShowMsgProc); {!!!}
begin
 Proc('OK')
end;

procedure TForm1.FormClick(Sender: TObject);
begin
 CallMethod(ShowMsg)
end;

procedure TForm1.ShowMsg(const Msg: string);
begin
 ShowMessage(Msg)
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо