Delphi-PRAXiS

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

toyohj60 1. Mär 2005 15:48

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

IBEvents
 
Hallo,

Ich verwende in meinem Programm die IBEvents. Seit dem ich die erstmals im Programm verwendet habe, bekomme ich beim Beenden immer eine Exception der Klasse EAccessViolation. Ist das ein Bug, oder mach ich etwas verkehrt?

kiar 1. Mär 2005 15:55

Re: IBEvents
 
hallo,

herzlich willkommen in der Dp,

Zitat:

Seit dem ich die erstmals im Programm verwendet habe, bekomme ich beim Beenden immer eine Exception der Klasse EAccessViolation. Ist das ein Bug, oder mach ich etwas verkehrt?
wir müssen schon sehen, wie du ibevents verwendest, damit wir dir helfen können.

raik

toyohj60 1. Mär 2005 16:19

Re: IBEvents
 
Hallo,

klar, eigenlich logisch:
Delphi-Quellcode:
Form1.OnActivate:
.
.
.
  if IBEvents1.Registered = False then
  begin
    IBEvents1.Database:= DataModule2.IBDatabase1;
    IBEvents1.Events.Add('UPDATE ERFOLGREICH');
    IBEvents1.Registered:= True;
  end;
.
.
.


procedure TForm1.IBEvents1EventAlert(Sender: TObject; EventName: String;
  EventCount: Integer; var CancelAlerts: Boolean);
begin
  Application.MessageBox('Das ist ein Test','Hinweis',36);
end;

und jetzt noch zum Beenden:
Delphi-Quellcode:
Form1.OnClose;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  If DataModule2.IBTransaction1.Active = True then DataModule2.IBTransaction1.Commit;
  IBEvents1.UnRegisterEvents;
  if IBEvents1.Registered = True then IBEvents1.Registered:= False;
  DataModule2.IBDatabase1.Close;
end;
[edit=Sharky]Delphi-Tags gesetzt ;-) Mfg, Sharky[/edit]

kiar 1. Mär 2005 16:34

Re: IBEvents
 
hallo,

versuche mal in den OnClose folgendes:
Delphi-Quellcode:

action:= cafree;
hier wird der speicher von der form freigegeben.

ausserdem sollten alle anderen sachen vorher erledigt sein.
ein blick in das forum und mal die suche betätigen sollten helfen, etwas über transactionen zu erfahren und der trennung zwischen logik und gui.

raik


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:22 Uhr.

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