AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IBEvents

Ein Thema von toyohj60 · begonnen am 1. Mär 2005 · letzter Beitrag vom 1. Mär 2005
Antwort Antwort
toyohj60

Registriert seit: 13. Dez 2003
15 Beiträge
 
#1

IBEvents

  Alt 1. Mär 2005, 15:48
Datenbank: Interbase • Version: 6.0 • Zugriff über: IBX
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?
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#2

Re: IBEvents

  Alt 1. Mär 2005, 15:55
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
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
toyohj60

Registriert seit: 13. Dez 2003
15 Beiträge
 
#3

Re: IBEvents

  Alt 1. Mär 2005, 16:19
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]
  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#4

Re: IBEvents

  Alt 1. Mär 2005, 16:34
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
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:59 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