Процедура как параметр

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Аватара пользователя
VirtUX
энтузиаст
Сообщения: 880
Зарегистрирован: 05.02.2008 09:52:19
Откуда: Крым, Алушта

Сообщение VirtUX »

А что хранится в Sender? При попытке обратиться к нему во время выполнения возникает ошибка.
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

В Sender хранится тот объект который вызывает событие.

Добавлено спустя 2 минуты 47 секунд:

Код: Выделить всё

procedure Test(Self, Sender: TObject);
begin
  ShowMessage(TButton(Sender).Caption);
end;

...
var
  m: TMethod;
begin
  m.Code:=@Test;
  m.Data:=Self;
  Button1.OnClick:=TNotifyEvent(m);
end;
Аватара пользователя
VirtUX
энтузиаст
Сообщения: 880
Зарегистрирован: 05.02.2008 09:52:19
Откуда: Крым, Алушта

Сообщение VirtUX »

Mr.Smart спасибо за подробное разъяснение.
Ответить