Einzelnen Beitrag anzeigen

MichaelT

Registriert seit: 14. Sep 2005
Ort: 4020 Linz
532 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: AnyDAC (FireDAC) - Exception beim schließen einer TADConnection

  Alt 21. Mär 2018, 16:45
Am schnellsten geht es vermutlich wenn du dich in die

TFDPhysManager.InternalClose(ATerminate, AWaitForClose: Boolean); in der FireDAC.Phys reinhängst.

Delphi-Quellcode:
finally
    iStartTime := TThread.GetTickCount();
    while not lTimeOut and (FDriverList.Count > 0) do begin
      lTimeOut := FDTimeout(iStartTime, C_FD_PhysManagerShutdownTimeout);
      CleanupDrivers;
      Sleep(1);
    end;
    if FDriverList.Count = 0 then
      if FState = dmsTerminating then
        lFree := True
      else if FState = dmsStoping then
        CleanupManager;
    if lTimeOut then
      FDException(nil, [S_FD_LPhys], er_FD_AccShutdownTO, []);
    if lFree then
      FDFree(Self);
  end;
er_FD_AccShutdownTO Dabei handelt es sich um die im Beitrag zitierte Fehlerkonstante die nur dort wird abgesetzt.

Der Fehler tritt im Finally Block auf. Ich schätze mal das Problem tritt im Umfeld der CleanUpDrivers auf. Wäre nur meine Vermutung.

Geändert von MichaelT (21. Mär 2018 um 16:57 Uhr)
  Mit Zitat antworten Zitat