Обработка событий TApplication
Поскольку при создании TApplication недоступен, установка его обработчика события затруднена из-за невозможности использования инспектора объектов (Object Inspector).
Сначала опишем обработчик события. Поскольку событие распознается и запускается объектом, обработчик должен быть методом объекта. Он также должен соответствовать соглашению о вызовах события, которое обычно описано в системе справки. Например, из файлов справки можно узнать, что событие OnActivate типа TNotifyEvent является наиболее общим типом. Его описание его выглядит так:
TNotifyEvent = procedure (Sender: TObject) of Object;
Это описание говорит о том, что ваш обработчик должен получать параметр TObject, который позволяет определить, какой именно объект распознал и отослал событие.
Создадим новое приложение и модифицируем описание TForm1.
type
TForm1 = class(TForm)
private
{Закрытые объявления.}
procedure OnActivateHandler(Sender: TObject);
public
{Открытые объявления.}
end;
Описание обработчика как protected не несет особой нагрузки и принято по умолчанию. Важно лишь, чтобы он был методом класса.
Теперь, когда мы описали обработчик, определим его. Добавьте следующий код в раздел implementation вашего модуля.
procedure TFormI.OnActivateHandler(Sender: TObject);
begin
{Код вашего обработчика.}
end;
Совет: Определение процедуры или функции не требует перечисления списка параметров, так как он был дан при описании. Вы можете его повторить для повышения удобочитаемости и ясности программы.
Наконец, назначим обработчик событию. Обычно это выполняется в событии OnCreate главной формы. Измените обработчик события OnCreate класса Tform1 следующим образом.
procedure TFormI.FormCreate(Sender: TObject);
begin
Application.OnActivate:= OnActivateHandler;
end;