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