Страница 1 из 1

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

СообщениеДобавлено: 12.07.2013 14:54:35
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 позволяет решить проблему реакции клиента на события, не нужно опрашивать базу