Ver Mensaje Individual
  #10  
Antiguo 19-05-2007
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Reputación: 22
sitrico Va por buen camino
Me uno al tema

Estoy tratando de hacer que se ejecute el evento, pero no me funciona.

Uso D7, FB 2.0.1 y MDO.

En la base de datos defino el procedimiento:

Código SQL [-]
CREATE PROCEDURE ACTUALIZARCITAS 
as
begin
  post_event 'ACT_CITAS';
  suspend;
end^
GRANT EXECUTE ON PROCEDURE ACTUALIZARCITAS TO SYSDBA;

// ¿ que hace la ultima línea ?

Que lanzo despues con varios triggers:

Código SQL [-]
CREATE TRIGGER CI_CITAS_EVENT_NUEVA FOR CI_CITAS
ACTIVE AFTER INSERT OR UPDATE OR DELETE POSITION 0
AS
begin
EXECUTE PROCEDURE ACTUALIZARCITAS;
end

en delphi pongo un componente: MDOEvents con la base de datos asignada

Código Delphi [-]
procedure TfCitas.MDOEvents1EventAlert(Sender: TObject; EventName: String;
  EventCount: Integer; var CancelAlerts: Boolean);
begin
If EventName = 'ACT_CITAS' then
   MostrarCitas;  // = refresh
end;

Pero cuando incorporo una nueva cita (INSERT) desde otro módulo de la aplicación (otro exe) no ocurre el evento.

Lo único "raro" es que en mi datamodule defino 2 transacciones Una "Read commited" (read_committed, rec_version, nowait) para los SELECT y otra Read-Write table stability (write, consistency) para insert, update y delete.

¿me falta algo?

Edito:

inclui esto y tampoco funciona:

Código Delphi [-]
procedure TfCitas.FormActivate(Sender: TObject);
begin
If Not MDOEvents1.Registered Then
   MDOEvents1.Registered := true;
end;
__________________
Sitrico

Última edición por sitrico fecha: 19-05-2007 a las 08:26:40.
Responder Con Cita