Иллюстрированный самоучитель по Delphi 7 для профессионалов

Обработка событий

Клиентское приложение Delphi, работающее с сервером InterBase, имеет возможность отслеживать события, происходящие в базе данных и вызываемые другими процессами или приложениями. Для этого используется компонент TiBEvents. Он позволяет определить список необходимых событий и предоставляет разработчику простой механизм отслеживания возникающих на сервере событий. Свойства и методы компонента TiBEvents представлены в табл. 18.7.

Список событий задается свойством:

property Events: TStrings;

…в котором можно определить до 15 контролируемых событий.

Выбранные события необходимо зарегистрировать на сервере. Для этого применяется метод:

procedure RegisterEvents;

Метод:

procedure QueueEvents;

…начинает процесс передачи сообщений от сервера.

При возникновении на сервере зарегистрированного события компонент вызывает метод-обработчик события:

property OnEventAlert: TEventAlert;
TEventAlert = procedure) Sender: TObject; EventName: String; EventCount:
longint; var CancelAlerts: Boolean)

Параметр EventName содержит имя последнего произошедшего события.

Параметр EventCount содержит число заданных событий, произошедших с момента последнего вызова метода-обработчика.

Параметр CancelAlerts позволяет прервать процесс передачи сообщений приложению. Для этого необходимо присвоить параметру значение True.

Для возобновления работы компонента нужно снова использовать метод QueueEvents.

Таблица 18.7. Свойства и методы компонента TiBEvents.

Объявление Тип Описание
Свойства
property Database: TIBDatabase; Pb Задает базу данных
property Events: TStrings; Pb Список контролируемых событий
property Queued: Boolean; Ro Значение True говорит о том, что процесс передачи сообщений работает
property Registered: Boolean; Pb Определяет регистрацию сообщений на сервере
Методы
procedure CancelEvents; Pu Останавливает процесс передачи сообщений
procedure QueueEvents; Pu Включает процесс передачи сообщений
procedure RegisterEvents; Pu Проводит регистрацию сообщений на сервере
procedure UnRegisterEvents; Pu Отменяет регистрацию сообщений на сервере
Методы-обработчики событий
property OnEventAlert: TEventAlert;
TEventAlert = procedure (Sender: TObject; EventName: String; EventCount: longint; var CancelAlerts: Boolean)
Pb Вызывается при передаче сообщения от сервера компоненту
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.