Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi IBEvents funktioniert nicht (https://www.delphipraxis.net/114553-ibevents-funktioniert-nicht.html)

toyohj60 27. Mai 2008 12:22

Datenbank: Interbase • Version: 2007 • Zugriff über: IBX

IBEvents funktioniert nicht
 
Hallo,

ich bekomme die IBEvents einfach nicht ans laufen:

Delphi-Quellcode:
begin
.
.
      DataModule2.IBDatabase1.DatabaseName:= DataBase;
      IBEvents1.Database:= DataModule2.IBDatabase1;
      IBEvents1.AutoRegister:= True;
      DataModule2.IBDatabase1.Open;

.
.
end;

procedure TForm1.IBEvents1EventAlert(Sender: TObject; EventName: string;
  EventCount: Integer; var CancelAlerts: Boolean);
begin
  if EventName = 'Update' then
  Application.MessageBox('Es wurde ein Update gemacht!' ,'Achtung',16);
end;
die Eigenschaft Events ist im OI schon auf 'Update' eingestellt.

In der DB steht folgender Trigger:
SQL-Code:
SET TERM ^^ ;
CREATE TRIGGER TR_UPDATE FOR KUNDEN ACTIVE AFTER UPDATE POSITION 0 AS
begin
  Post_Event 'Update';
end
 ^^
SET TERM ; ^^
Es wird keine Fehlermeldung ausgegeben. Es passiert einfach NICHTS! :shock:

Was ist hier falsch??

tschüß, Steffen

hanspeter 27. Mai 2008 12:47

Re: IBEvents funktioniert nicht
 
Zitat:

Zitat von toyohj60
Hallo,

ich bekomme die IBEvents einfach nicht ans laufen:

Es wird keine Fehlermeldung ausgegeben. Es passiert einfach NICHTS! :shock:

Was ist hier falsch??

tschüß, Steffen

Die Events scheinen ein bischen unsicher geworden sein.
Mit IBObjects geht es bei mir.
Eventalert von IBDAC hängt sich bereits bei der Registrierung eines Event auf.
Da geht selbst die Demo-Version nicht.

Ich verwende das Eventhandling um auf mehreren angeschlossenen Informationsrechnern Änderungen (Ergebnisse) anzuzeigen.
Auf manchen Rechnern geht das, auf anderen nicht.
Ein Rechner, welcher noch unter NT läuft, da geht die Eventsteuerung 1 bis 2 Stunden und setzt dann aus.
Die Events werden von dem Datenbanktreibern im Poling abgefragt.
Fazit: Finger besser von den Events lassen.
Ich schreibe jetzt über den Updatetrigger eine Änderungsinformation in eine eigene Tabelle.
Die frage ich zyklisch über eine SP ab.
Und arbeitest Du mit FB oder IB. FB >= 2.0 ist mit IBX nicht mehr voll compatibel.

Gruß
Peter

toyohj60 27. Mai 2008 13:15

Re: IBEvents funktioniert nicht
 
Hallo,

ich arbeite mit IB 2007. Das mit der Tabelle hab ich mir auch schon überlegt, aber bei ca. 10 Clients müsste ich ja auch
noch mitschreiben, wer sich welche Änderung schon abgeholt hat. :gruebel:

tschüß, Steffen

Thomas Horstmann 27. Mai 2008 14:47

Re: IBEvents funktioniert nicht
 
Hallo,

ich arbeite mit Interbase 2007 und Firebird 2.1.
Bei mir laufen die Events bislang ohne Probleme.

In meinem Code gebe ich die Events in "TIBEvents" vor,
nach denen "gehorcht" werden soll. Vielleicht hilft es.

Viele Grüsse
Tom

Delphi-Quellcode:
...
with IBEvents do
  begin
  { Deaktivieren }
  Registered := FALSE ;
  { Events einfügen }
  Events.Clear ;
  Events.Add('Update') ;
  Events.Add('Update_2') ;
  { Aktivieren }
  Registered := TRUE ;
  end ; // with IBEvents
..


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz