Использование ZIBEventAlerter ZeosDbo

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

Ответить
Ism
энтузиаст
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Использование ZIBEventAlerter ZeosDbo

Сообщение Ism »

Верно для Firebird 2.5 и ZeosDbo релиз 7.0
В триггере или процедуре базы команда

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

post_event 'text_inserted';


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

ZIBEventAlerter1.Connection:=ZConnection1;
ZIBEventAlerter1.Events.Text:='text_inserted';
ZIBEventAlerter1.Registered:=true;                         


Далее по событию

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

procedure TFormMain.ZIBEventAlerter1EventAlert(Sender: TObject;
  EventName: string; EventCount: longint; var CancelAlerts: boolean);
begin
  ShowMessage('Есть');
end;                                         


Для Linux есть нюанс, надо включить многопоточность опцией компилятора -dUseCThreads , иначе будет вылетать с Access Violation

Использовение Event позволяет решить проблему реакции клиента на события, не нужно опрашивать базу
Ответить