AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADO Connection und TRY FINALLY Problem
Thema durchsuchen
Ansicht
Themen-Optionen

ADO Connection und TRY FINALLY Problem

Ein Thema von hitzi · begonnen am 13. Feb 2004 · letzter Beitrag vom 16. Feb 2004
Antwort Antwort
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#1

ADO Connection und TRY FINALLY Problem

  Alt 13. Feb 2004, 14:59
Hallo,

wenn man folgenden Code unter WINXP (mit WINXP Pro getestet)verwendet

Delphi-Quellcode:
  try
    adoconnection1.Open();
  finally
    adoconnection1.Close;
  end;
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.
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.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: ADO Connection und TRY FINALLY Problem

  Alt 13. Feb 2004, 15:02
Typisches Fehlkonstrukt...

Delphi-Quellcode:
  adoconnection1.Open();
  try
    ....
  finally
    adoconnection1.Close;
  end;
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#3

Re: ADO Connection und TRY FINALLY Problem

  Alt 16. Feb 2004, 07:36
Hallo Sakura,

da hast du Recht
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:
PrioForm := TPrioform.Create(Application);
try
  Prioform.ShowModal;
finally
  FreeAndNil(Prioform);
end;
Code aus dem OnCreate der PrioForm, welcher den Fehler verursacht:
Delphi-Quellcode:
procedure TPrioForm.FormCreate(Sender: TObject);
begin
  if not Mainform.DBConnection.Connected then Mainform.DBConnection.Open();
....
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.(?)

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:
procedure TADOConnection.DoConnect;
begin
  ConnectionObject.Open(ConnectionObject.ConnectionString, FUserID, FPassword,
    ConnectOptionValues[FConnectOptions]);
  if FDefaultDatabase <> 'then
    ConnectionObject.DefaultDatabase := FDefaultDatabase;
end;
Genauer gesagt bei "ConnectionObject.Open".

Kennt jemand die Ursache?

MfG Hitzi
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#4

Re: ADO Connection und TRY FINALLY Problem

  Alt 16. Feb 2004, 10:43
Neues Thema zu dem gleichen Problem, da sich der Sachverhalt geändert hat -> http://www.delphipraxis.com/topic18558,0,asc,0.html

MfG Hitzi
Thomas
  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 03:13 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