Hallo,
das bist doch du, oder ?
https://stackoverflow.com/questions/...ose-connection
Hast Du die Stelle mal debuggt
if TObject(FClients[I]) is TDataset
Du könntest auch den Code der kompletten Routine TCustomConnection.SendConnectEvent in Deinen eigenen Code packen
und mehr Log mitprotokollieren.
Wenn Du es nachstellen kannst, kommst du doch auch an den Namen des DataSets ran.
for I := 0 to FClients.Count - 1 do
Hier wäre doch ein Ansatz, alle DataSets zu durchlaufen und explizit zu schließen.
Ein ganz andere Ursache könnte auch ein Speicherfehler (Speicher überschrieben) sein,
der hier einfach Deine Connection vermurkst.
Nimm mal FastMM4 und prüfe, ob der Auffälligkeiten meldet.
Wenn es etwas Kosten darf, wäre auch PAL (Pascal Analyzer) interessant,
der findet viel mehr mögliche Probleme/Fehler als der Compiler.