Amigos, quiero hacer una aplicación que me mantenga actulizado a traves de una DBGrid, cada vez que otra aplicación le inserte un registro a una tabla de una base de datos en InterBase.
Le agrego a un formulario las componentes
TIBDatabase
TIBTransaction
TIBQuery
TDBGrid
TDataSource
TIBEvents (Para que me avice cuando se le ha insertado un registro a la tabla)
object Form1: TForm1
object DBGrid1: TDBGrid
DataSource = DataSource1
end
object IBDatabase1: TIBDatabase
Connected = True
DatabaseName = 'd:\Datos\DataBase.GDB'
Params.Strings = (
'user_name=SYSDBA'
'password=masterkey')
LoginPrompt = False
DefaultTransaction = IBTransaction1
IdleTimer = 0
SQLDialect = 3
end
object IBTransaction1: TIBTransaction
Active = True
DefaultDatabase = IBDatabase1
AutoStopAction = saNone
end
object IBQuery1: TIBQuery
Database = IBDatabase1
Transaction = IBTransaction1
Active = True
BufferChunks = 1000
CachedUpdates = False
SQL.Strings = (
'select * from SMDRP order by ID desc')
end
object IBEvents1: TIBEvents
AutoRegister = True
Database = IBDatabase1
Events.Strings = (
'New_Record')
Registered = False
OnEventAlert = IBEvents1EventAlert
end
object DataSource1: TDataSource
DataSet = IBQuery1
end
end
En el evento OnEventAlert de IBEvent1 pongo
procedure TForm1.IBEvents1EventAlert(Sender: TObject; EventName: String;
EventCount: Integer; var CancelAlerts: Boolean);
begin
IBQuery1.Close;
IBQuery1.Open;
end;
Pero algo está pasando que la DBGrid siempre muestra lo mismo, aunque se ejecute el procedure IBEvents1EventAlert.