lazarus/components/sqldb/pqteventmonitor.pas

79 lines
1.4 KiB
ObjectPascal

unit PQTEventMonitor;
{$mode objfpc}{$H+}
interface
uses
Classes,PQEventMonitor,ExtCtrls;
type
{ TPQTEventMonitor }
TPQTEventMonitor=class(TPQEventMonitor)
private
Timer:TTimer;
function GetPollInterval: integer;
procedure OnTimer(Sender: TObject);
procedure SetPollInterval(AValue: integer);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure RegisterEvents; override;
procedure UnRegisterEvents; override;
published
property PollInterval:integer read GetPollInterval write SetPollInterval default 500;
end;
implementation
{ TPQTEventMonitor }
procedure TPQTEventMonitor.SetPollInterval(AValue: integer);
begin
if Timer.Interval=AValue then Exit;
Timer.Interval:=AValue;
end;
function TPQTEventMonitor.GetPollInterval: integer;
begin
result:=Timer.Interval;
end;
procedure TPQTEventMonitor.OnTimer(Sender: TObject);
begin
Poll;
end;
constructor TPQTEventMonitor.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Timer:=TTImer.Create(self);
Timer.Interval:=500;
Timer.Enabled:=false;
Timer.OnTimer:=@OnTimer;
end;
destructor TPQTEventMonitor.Destroy;
begin
inherited Destroy;
end;
procedure TPQTEventMonitor.RegisterEvents;
begin
inherited RegisterEvents;
Timer.Enabled:=true;
end;
procedure TPQTEventMonitor.UnRegisterEvents;
begin
Timer.Enabled:=false;
inherited UnRegisterEvents;
end;
end.