Важной особенностью события является возможность связать его с некоторым программным кодом - обработчиком события. Чтобы это стало возможным на этапе конструирования программы, события должны отображаться в окне Инспектора объектов. С этой целью формально они объявляются в виде свойств. Поскольку типом свойства-события является указатель на метод, свойство-событие имеет RTTI-информацию с признаком tkMethod, что позволяет Инспектору объектов отделить их от других опубликованных свойств и поместить на вкладку Events своего окна.

Подобно другим свойствам, свойства-события имеют внутренние поля, в которых хранятся указатели на обработчики событий. В отличие от других свойств, свойства-события не используют косвенные способы доступа к этим полям с помощью процедур WriteXXXX и функций GetXXXX. Вместо этого они просто ссылаются на эти поля. Например:

type

TMyControl = class(TGraphicControl) private

FOnClik: TNotifyEvent; // Поле для указателя на метод

published

// Объявление свойства-события:

property OnClick: TNotifyEvent read FOnClick write FOnClick;

end;

9.1. Природа событий || Оглавление || 9.1.3. Обработчик события - процедура


Искусство создания компонентов Delphi



Новости за месяц

  • Декабрь
    2019
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31