Как я могу закрыть диалоги с сообщениями об ошибках Delphi DataSnap?

Мы запускаем приложение 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;

1 ответ

Решение 1) может быть, глобальный хук через application.onexception может решить проблему

http://www.chami.com/tips/delphi/011497D.html

решение 2)

используйте EurekaLog или MadExcept, чтобы узнать, откуда приложение вызывает эту ошибку, и обработать ошибку.

решение 3)

глобальный перехват над диалогами сообщений приложения, пример перехвата ниже

http://delphi.about.com/gi/o.htm?zi=1/XJ&zTi=1&sdn=delphi&cdn=compute&tm=43&f=22&su=p284.9.336.ip_p504.1.336.ip_&tt=2&bt=1&bts=1&zu=http%3A//www.delphicorner.f9.co.uk/articles/apps7.htm

вы запрашиваете все сообщения приложения, и когда вы ловите это окно, вы обрабатываете сообщение, а не приложение. потому что у меня сейчас нет времени, я точно не знаю, какой именно wmessage поднял messagedlg.

надеюсь, что это помогло.

с уважением,

Другие вопросы по тегам