Очистка запущенных FireDA C TT задач при закрытии приложения - PullRequest
1 голос
/ 22 января 2020

У меня есть программа (в Delphi 10.3), которая позволяет пользователю настраивать доступ к базе данных FireDA C во время выполнения, используя стандартный диалог, предоставляемый библиотеками (как указано в справке FireDA C)

TfrmFDGUIxFormsConnEdit.Execute(DBConnection, '')

Если пользователь завершает работу вскоре после этого, происходит сбой программы с исключениями в TFDPhysMSSQLDriver.GetServers. Это связано с тем, что эта функция запускает TTask для просмотра всех доступных серверов MS SQL, выполнение которого занимает довольно много времени и выдает ошибки защиты, как только она пытается обработать любой «прогресс», достигнутый после завершения работы остальной части приложения. , Поскольку это происходит в библиотеке FireDA C, я не могу получить доступ к дескриптору ITask для задачи, ожидающей ее, и, похоже, нет никакого очевидного способа дождаться завершения всех невыполненных задач TTas.

Кто-нибудь знает одобренный метод для ожидания выполнения этой задачи или всех задач до конца sh или что еще я могу сделать, чтобы "обезопасить себя" перед выходом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...