Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unit Unit1;
- {$mode objfpc}{$H+}
- interface
- uses
- Classes, SysUtils, FBEventMonitor, IBConnection, sqldb, FileUtil, Forms,
- Controls, Graphics, Dialogs, StdCtrls;
- type
- { TForm1 }
- TForm1 = class(TForm)
- Button1: TButton;
- Edit1: TEdit;
- FBEventMonitor: TFBEventMonitor;
- ConnMaster: TIBConnection;
- ConnListener: TIBConnection;
- ListBox: TListBox;
- SQLTransaction: TSQLTransaction;
- procedure Button1Click(Sender: TObject);
- procedure FBEventMonitorEventAlert(Sender: TObject; EventName: string;
- EventCount: longint; var CancelAlerts: boolean);
- procedure FormCreate(Sender: TObject);
- private
- { private declarations }
- public
- { public declarations }
- end;
- var
- Form1: TForm1;
- implementation
- {$R *.lfm}
- { TForm1 }
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- ConnMaster.DatabaseName := 'D:\dev\db\FOO.FDB';
- ConnMaster.UserName := 'SYSDBA';
- ConnMaster.Password := 'masterkey';
- ConnMaster.LoginPrompt := False;
- ConnMaster.Transaction := SQLTransaction;
- ConnMaster.Open;
- ConnMaster.ExecuteDirect('RECREATE PROCEDURE send_custom(event_name varchar(127)) '+
- 'AS '+
- 'BEGIN '+
- 'POST_EVENT event_name; '+
- 'END ');
- ConnMaster.Transaction.Commit;
- ConnListener.HostName:=ConnMaster.HostName;
- ConnListener.DatabaseName:=ConnMaster.DatabaseName;
- ConnListener.UserName:=ConnMaster.UserName;
- ConnListener.Password:=ConnMaster.Password;
- ConnListener.Open;
- FBEventMonitor.Connection := ConnListener;
- FBEventMonitor.Events.Add('One');
- FBEventMonitor.Events.Add('Two');
- FBEventMonitor.Events.Add('Three');
- FBEventMonitor.RegisterEvents;
- FBEventMonitor.Registered := True;
- Edit1.Text := 'One';
- end;
- procedure TForm1.FBEventMonitorEventAlert(Sender: TObject; EventName: string;
- EventCount: longint; var CancelAlerts: boolean);
- begin
- ListBox.Items.Add(EventName);
- end;
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- ConnMaster.ExecuteDirect('execute PROCEDURE send_custom('+QuotedStr(Edit1.Text)+');');
- ConnMaster.Transaction.CommitRetaining;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement