PDA

Просмотр полной версии : Отключение вывода ошибок в Delphi


2pick
03.07.2007, 10:47
Сижу пишу ирк-бота на delphi через компонент IdIRC-Client (набор Indy) но вот столкнулся с такой траблой... Если комп не соеденён с инетом, а клиент цепляется с серваком (соответственно сервак не может быть найден), то выскакивает сообщение об ошибке (что-то связаное с сокетами). Хотелось бы узнать как можно отрубить это сообщение у едрене-фене и вообще отключить все сообщения программы (об ошибках и т.п.)

_Great_
03.07.2007, 10:50
Очевидно, если сокетами управляет компонент, то искать это нужно в настройках компонента

W!z@rD
03.07.2007, 11:14
1. использовав блок
try
...
except
2. Делать проверку на наличие коннекта с НЕТОМ

zl0y
03.07.2007, 12:19
Обрабатывай OnError и там ставь значение errorcode:=0; тоесть просто игнорируй ошибки.

Jes
03.07.2007, 12:40
Там !по-моему! в опция компилятора на если на full release поставить ,прога ругаться перестанет ...

2pick
03.07.2007, 15:17
1. использовав блок
try
...
except
2. Делать проверку на наличие коннекта с НЕТОМ
Пробовал не помогает
А делать проверку

1. Прирост к файлу веса (этого мне не надо)
2. Нет нормальных исходников для проверки подключения... так или иначе надо скачивать какую-то инфу с какого-то сайта, а это опять ошибки...

2pick
03.07.2007, 15:18
Обрабатывай OnError и там ставь значение errorcode:=0; тоесть просто игнорируй ошибки.
OnSocketError есть... ставил туда sleep(100) не помогло. попробую сделать как ты говоришь

2pick
03.07.2007, 15:19
Там !по-моему! в опция компилятора на если на full release поставить ,прога ругаться перестанет ...
Это где?

Jes
03.07.2007, 15:45
посмотрел , такая опция тока в Borland Си компилаторе...(

KEZ
03.07.2007, 16:36
> 1. Прирост к файлу веса (этого мне не надо)

да ладно? у тебя делфи-проэкт с Indy-компонентами а ты выгодаешь что-то из-за пары десятков байт?

>2. Нет нормальных исходников для проверки подключения... так или иначе надо скачивать какую-то инфу с какого-то сайта, а это опять ошибки...

очень просто, см. InternetGetConnectState()

Ni0x
03.07.2007, 17:07
Нет нормальных исходников для проверки подключения... так или иначе надо скачивать какую-то инфу с какого-то сайта, а это опять ошибки...
делаешь отдельный поток в котором в бесконечном цикле вызываешь InternetGetConnectState()

2pick
03.07.2007, 22:15
Спасибо, на работе завтра попробую... :)

делаешь отдельный поток в котором в бесконечном цикле вызываешь InternetGetConnectState()
Гм, а для чего отдельный поток то делать, когда можно просто задержку прописать и видно этого не будет (заметно в смысле), а результат будет тот же?

Ni0x
03.07.2007, 22:25
Гм, а для чего отдельный поток то делать, когда можно просто задержку прописать и видно этого не будет (заметно в смысле), а результат будет тот же?
я тебя не совсем понял. как ты представляешь себе задержку? ты хочешь каждый раз через определенное кол-во времени вызывать InternetGetConnectState()? намного легче сделать в отдельном потоке без всяких задержек и прочего.

2pick
04.07.2007, 10:44
я тебя не совсем понял. как ты представляешь себе задержку? ты хочешь каждый раз через определенное кол-во времени вызывать InternetGetConnectState()? намного легче сделать в отдельном потоке без всяких задержек и прочего.
Будет проц жрать без задержек...
просто sleep(100) и нормально

2pick
04.07.2007, 10:48
Всё сделал... поставил InternetGetConnecState(), но т.к. даже если комп подключен просто к локалке, то это сработает... поэтому поставил ещё
try
...
except
+для скрытности поставил свойства формы HIDE (если кому надо выложу часть исходника с этим бардаком...), кстати говоря, HIDE полностью решает проблему, т.к. не выводит никаких сообщений об ошибках, но всё же чтоб не выскакивало из процедуры, в которой происходит ошибка нужно ставить try

2pick
04.07.2007, 15:23
Блин... всё равновылазит после некоторого времени... примерно через минут 10-20 за это время около 100 обращений происходит к ирк-серверу...

Ni0x
04.07.2007, 16:06
ну так выложи исходники и подробнее распиши суть проблемы

2pick
04.07.2007, 20:17
Так и сделаю... просто все исходники у меня на работе. А с собой я их не таскаю

2pick
05.07.2007, 15:51
Всё... разобралсяв чём мазабыла. :)