Мы запускаем приложение DataSnap Delphi 2009 на Windows 2003 Server. DataSnap Client и Server находятся на одном компьютере с использованием DCOM через Borland Socketserver. Клиент запускает фоновое пакетное задание.
Иногда мы обнаруживаем, что клиент не может подключиться к приложению сервера, и на рабочем столе сервера отображается диалоговое окно с сообщением, например, «Не удалось подключиться к серверу. Не удалось найти сетевой путь». или «Объект-экспортер не найден».
Наш клиентский код Delphi никогда не использует диалоговое окно сообщения для отображения ошибок или исключений, вместо этого мы используем try ... кроме ... finally ... end и ведение журнала для обработки ошибок подключения, поэтому я предполагаю, что диалог создается с помощью DataSnap метод. Есть ли способ подавить это модальное диалоговое окно?
Обновление: все исключения обрабатываются в процедурах более низкого уровня, основной цикл заботится об отключении и повторном подключении при возникновении исключения (обработанного или необработанного):
while True do
begin
Connect;
while True do
begin
try
DoMyWork;
except
Break;
end;
end;
Disconnect;
end;