![]() |
ADO Connection und TRY FINALLY Problem
Hallo,
wenn man folgenden Code unter WINXP (mit WINXP Pro getestet)verwendet
Delphi-Quellcode:
funktioniert alles tadellos. Lass das Programm geöffnet und warte mal etwas über ein Minute 65-70sec und lass den Code nochmal ausführen. Nun kommt beim Befehl adoconnection1.open eine Exception mit der Meldung schwerwiegender Fehler.
try
adoconnection1.Open(); finally adoconnection1.Close; end; Auf einem Win2000 Rechner tritt dieses Verhalten nicht auf. Entfernt man den TRY FINALLY Block funktioniert es auch unter WINXP tadellos. Auch wenn man keine 60 Sekunden wartet (den Code z.B. alle 30sec ausführen) tritt der Fehler nicht auf. Hatt jemand einen Verdacht woran das liegen könnte? MfG Hitzi PS: Die ADO Connection wird für eine Verbindung zu einem Informixserver verwendet. |
Re: ADO Connection und TRY FINALLY Problem
Typisches Fehlkonstrukt...
Delphi-Quellcode:
...:cat:...
adoconnection1.Open();
try .... finally adoconnection1.Close; end; |
Re: ADO Connection und TRY FINALLY Problem
Hallo Sakura,
da hast du Recht :stupid: Da hab ich doch glatt in meinem Testprogramm einen neuen Fehler eingebaut. Ursache war das ich den Fehler aus dem eigentlichen Programm reproduzieren wollte. Der eigentliche Code mit dem Fehler lautet so:
Delphi-Quellcode:
Code aus dem OnCreate der PrioForm, welcher den Fehler verursacht:
PrioForm := TPrioform.Create(Application);
try Prioform.ShowModal; finally FreeAndNil(Prioform); end;
Delphi-Quellcode:
Das "Mainform.DBConnection.Open()" verursacht den Fehler. Irgendwie bin ich dann auf den falschen Weg gekommen und hab die im ersten Post gezeigte Routine in einem Testprogramm überprüft und bin eben auf den gleichen Fehler gekommen.(?)
procedure TPrioForm.FormCreate(Sender: TObject);
begin if not Mainform.DBConnection.Connected then Mainform.DBConnection.Open(); .... Der Fehler besteht immer noch. Start des Hauptprogrammes: 1. Weg: innerhalb von einer Minute den Button betätigt, welcher die "PrioForm" erstellt -> alles funktioniert wunderbar. 2. Weg: nach einer Minute den Button betätigt -> Fehler Öffne ich jedoch vor dem Erstellen der Form die DBConnection und schließe sie wieder, funktioniert das ganze auch nach einer Minute. Der genaue Fehlertext lautet: Im Project "..." ist eine Exception der Klasse EOleException aufgetreten. Meldung 'Schwerwiegender Fehler'. Prozess wurde angehalten ... Der Fehler liegt bei der Funktion aus der ADODB (Zeile: 1577)
Delphi-Quellcode:
Genauer gesagt bei "ConnectionObject.Open".
procedure TADOConnection.DoConnect;
begin ConnectionObject.Open(ConnectionObject.ConnectionString, FUserID, FPassword, ConnectOptionValues[FConnectOptions]); if FDefaultDatabase <> '' then ConnectionObject.DefaultDatabase := FDefaultDatabase; end; Kennt jemand die Ursache? MfG Hitzi |
Re: ADO Connection und TRY FINALLY Problem
Neues Thema zu dem gleichen Problem, da sich der Sachverhalt geändert hat ->
![]() MfG Hitzi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 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