Просмотр полной версии : Отключение вывода ошибок в Delphi
Сижу пишу ирк-бота на delphi через компонент IdIRC-Client (набор Indy) но вот столкнулся с такой траблой... Если комп не соеденён с инетом, а клиент цепляется с серваком (соответственно сервак не может быть найден), то выскакивает сообщение об ошибке (что-то связаное с сокетами). Хотелось бы узнать как можно отрубить это сообщение у едрене-фене и вообще отключить все сообщения программы (об ошибках и т.п.)
Очевидно, если сокетами управляет компонент, то искать это нужно в настройках компонента
1. использовав блок
try
...
except
2. Делать проверку на наличие коннекта с НЕТОМ
Обрабатывай OnError и там ставь значение errorcode:=0; тоесть просто игнорируй ошибки.
Там !по-моему! в опция компилятора на если на full release поставить ,прога ругаться перестанет ...
1. использовав блок
try
...
except
2. Делать проверку на наличие коннекта с НЕТОМ
Пробовал не помогает
А делать проверку
1. Прирост к файлу веса (этого мне не надо)
2. Нет нормальных исходников для проверки подключения... так или иначе надо скачивать какую-то инфу с какого-то сайта, а это опять ошибки...
Обрабатывай OnError и там ставь значение errorcode:=0; тоесть просто игнорируй ошибки.
OnSocketError есть... ставил туда sleep(100) не помогло. попробую сделать как ты говоришь
Там !по-моему! в опция компилятора на если на full release поставить ,прога ругаться перестанет ...
Это где?
посмотрел , такая опция тока в Borland Си компилаторе...(
> 1. Прирост к файлу веса (этого мне не надо)
да ладно? у тебя делфи-проэкт с Indy-компонентами а ты выгодаешь что-то из-за пары десятков байт?
>2. Нет нормальных исходников для проверки подключения... так или иначе надо скачивать какую-то инфу с какого-то сайта, а это опять ошибки...
очень просто, см. InternetGetConnectState()
Нет нормальных исходников для проверки подключения... так или иначе надо скачивать какую-то инфу с какого-то сайта, а это опять ошибки...
делаешь отдельный поток в котором в бесконечном цикле вызываешь InternetGetConnectState()
Спасибо, на работе завтра попробую... :)
делаешь отдельный поток в котором в бесконечном цикле вызываешь InternetGetConnectState()
Гм, а для чего отдельный поток то делать, когда можно просто задержку прописать и видно этого не будет (заметно в смысле), а результат будет тот же?
Гм, а для чего отдельный поток то делать, когда можно просто задержку прописать и видно этого не будет (заметно в смысле), а результат будет тот же?
я тебя не совсем понял. как ты представляешь себе задержку? ты хочешь каждый раз через определенное кол-во времени вызывать InternetGetConnectState()? намного легче сделать в отдельном потоке без всяких задержек и прочего.
я тебя не совсем понял. как ты представляешь себе задержку? ты хочешь каждый раз через определенное кол-во времени вызывать InternetGetConnectState()? намного легче сделать в отдельном потоке без всяких задержек и прочего.
Будет проц жрать без задержек...
просто sleep(100) и нормально
Всё сделал... поставил InternetGetConnecState(), но т.к. даже если комп подключен просто к локалке, то это сработает... поэтому поставил ещё
try
...
except
+для скрытности поставил свойства формы HIDE (если кому надо выложу часть исходника с этим бардаком...), кстати говоря, HIDE полностью решает проблему, т.к. не выводит никаких сообщений об ошибках, но всё же чтоб не выскакивало из процедуры, в которой происходит ошибка нужно ставить try
Блин... всё равновылазит после некоторого времени... примерно через минут 10-20 за это время около 100 обращений происходит к ирк-серверу...
ну так выложи исходники и подробнее распиши суть проблемы
Так и сделаю... просто все исходники у меня на работе. А с собой я их не таскаю
Всё... разобралсяв чём мазабыла. :)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot