Interbase - eventos

Top  Previous  Next

//Utilizando Eventos do Interbase na sua aplicação

{

Eventos são mensagens que o interbase manda para a aplicação. 

No interbase os eventos podem ser enviados a partir de trigger ou store procedures.

Para a aplicação receber os eventos ela deve registrar o interesse pelo evento. 

}

 

 

 

//No Interbase

//Dentro da store procedure ou trigger envie o evento

Post_Event <nome_do_evento>

ex: Post_Event 'evento1'

 

 

 

//No Delphi

 

//O componente responsavel pelos eventos é o IBEvents

//Na propriedade Events insira os eventos a serem registrados

//no create do datamodule ou do form onde esta o IBEvents registre os eventos

ex.:

procedure TForm1.FormCreate(Sender: TObject);

begin

  IBEvents1.RegisterEvents;

end;

 

//no destroy do form o seguinte código

procedure TForm1.FormDestroy(Sender: TObject);

begin

  if IBDatabase1.Connected then

  begin

    //se a transacao esta aberta fechar

    If IBTransaction1.InTransaction then

      IBTransaction1.Commit

    //se existe registro de eventos desalocar

    if IBEvents1.Registered then

      IBEvents1.UnRegisterEvents

    //fechar conexao com o banco

    IBDatabase1.Close

  end;

end;

 

//o IbEvents tem um evento que recebe as mensagens do interbase

procedure TForm1.IBEvents1EventAlert(Sender: TObject; EventName: String;

  EventCount: Integer; var CancelAlerts: Boolean);

begin

  showmessage('Recebi o evento: '+EventName);

end;