В главном правом углу проблемного окна (рядом с минимизируют) существует маленький значок стрелки. Нажмите это и выбор "Настраивает фильтры". Существует фильтр серьезности, который, возможно, был активирован.
Нет более быстрого способа:
любая функция, обращающаяся к чему-либо на удаленном общем ресурсе, будет отключена по тайм-ауту, когда этот общий ресурс недоступен.
Если причиной тайм-аутов является автоматическое отключение общих ресурсов , то эта ссылка может вам помочь:
Если приложение может продолжить работу без завершения проверки, вы можете поместите проверку в отдельный поток, и по завершении проверки вы сможете обновить свой статус в пользовательском интерфейсе.
Имейте в виду, что когда вы пробуете многопоточность, вы должны опровергнуть, что ваш код свободен от гонки -условия и утечки памяти. Тайм-ауты в сочетании с исключениями обычно усложняют эту задачу.
Тот же вопрос был для C #: Как избежать остановки сети в GetFileAttributes?
Как сказал codymanix, используйте потоки. Приведенная выше ссылка покажет вам, как это можно сделать с делегатами на C #. Не знаю Delphi, но, может быть, вы знаете, как преобразовать код?
Если вы проверяете множество каталогов, вам следует использовать потоки для выполнения всех запросов параллельно, потому что для общих сетевых ресурсов обычно длительные таймауты.
Это лучший способ. Вы можете добавить код для проверки связи с машиной, чтобы убедиться, что она существует, но это все равно оставит рутинную работу до отказа, поскольку на многих компьютерах сегодня есть программные брандмауэры, настроенные для игнорирования запросов проверки связи, а также возможность того, что запрошенный общий ресурс не
Кроме того, на некоторых машинах, если путь UNC находится на локальном компьютере, а на локальном компьютере нет активной сетевой карты (ноутбук с отключенным Wi-Fi, например, в режиме «В самолете»), то запросы UNC также будут потерпеть неудачу.
В подобной ситуации, как вы указали, я сначала добавил на сервер пинг ICMP. Если сервер не отвечает на пинг, я предполагаю, что он не работает. Вы сами можете решить, какой тайм-аут использовать для проверки связи, поэтому вы можете установить его намного короче, чем тайм-аут, используемый внутри при попытке открыть файловый ресурс.
Если оба компьютера находятся в одном домене, это ускорит файловые операции при работе с общими ресурсами.