В триггере или процедуре базы команда
- Код: Выделить всё
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 позволяет решить проблему реакции клиента на события, не нужно опрашивать базу