О назначении пользовательского TNotifyEvent
Динамическое назначение вашей процедуры на событие, может быть полезно
при динамическом создании компонентов или создании плагинов живущих в dll
Все просто стоит только обратить внимание что определение
TNotifyEvent = procedure(Sender: TObject) of object;
а сие значит что
These types represent method pointers. A method pointer is really a pair of
pointers; the first stores the address of a method, and the second stores a
reference to the object the method belongs to. Given the declarations
(Delphi help :))
главное не забыть что при обьявлении процедуры надо указать пару указателей
procedure MyProcOnClick(P1,P2 :pointer);
begin
if P2<>nil then Showmessage(TComponent(P2).Name);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
@Button2.OnClick := @MyProcOnClick;
end;
Вот и все теперь при нажатии на кнопку два выполниться процедура
MyProcOnClick, P2 указывает на обьект
Button2
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter. Функция может не работать в некоторых версиях броузеров.