Einzelnen Beitrag anzeigen

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