Vielen Dank für die Antworten ...
@MEissing
Die AnyDAC hat bereits die Property DataSetCount.
Ich werde beim Schließen der Datenbankverbindungen jetzt eine Protokollierung einbauen, die über den DataSetCount prüft, ob noch Verbindungen offen sind...
@MichaelT
Bei dieser
Exception habe ich leider das Problem, dass ich bisher keine Konstellation hinbekommen habe, in der der Fehler zuverlässig auftritt ...
Ich werde daher mal die Reihenfolge vom Schließen der Datenbankverbindungen, wie von Dir vorgeschlagen, umkehren... D. h. zuerst die AnyDac (FireDAC) Datenbankverbindungen schließen und dann die
BDE Datenbankverbindungen ...
Könnte es auch sein das der ADManager Probleme macht? Würde es eventuell mein Problem lösen, wenn ich vor dem Schließen der AnyDAC (FireDAC) Datenbankverbindungen den ADManager deaktiviere:
Delphi-Quellcode:
procedure TfrmMain.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
[...]
ADManager.Active := False;
//--------------------------------------------------------------------
try
dacConnection.Connected := False;
except
on e:
exception do
MessageDlg('
dacConnection' + #13#10 + e.
message, mtError, [mbOK], 0);
end;
//--------------------------------------------------------------------
try
BDEConnection.Connected := False;
except
on e:
exception do
MessageDlg('
BDEConnection' + #13#10 + e.
message, mtError, [mbOK], 0);
end;
[...]
end;