Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Отключение вывода ошибок в Delphi (https://forum.antichat.xyz/showthread.php?t=43597)

2pick 03.07.2007 10:47

Отключение вывода ошибок в Delphi
 
Сижу пишу ирк-бота на 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

Цитата:

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

Пробовал не помогает
А делать проверку

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

2pick 03.07.2007 15:18

Цитата:

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

OnSocketError есть... ставил туда sleep(100) не помогло. попробую сделать как ты говоришь

2pick 03.07.2007 15:19

Цитата:

Сообщение от Jes
Там !по-моему! в опция компилятора на если на 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

Спасибо, на работе завтра попробую... :)

Цитата:

Сообщение от Ni0x
делаешь отдельный поток в котором в бесконечном цикле вызываешь InternetGetConnectState()

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

Ni0x 03.07.2007 22:25

Цитата:

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

2pick 04.07.2007 10:44

Цитата:

Сообщение от Ni0x
я тебя не совсем понял. как ты представляешь себе задержку? ты хочешь каждый раз через определенное кол-во времени вызывать 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

Всё... разобралсяв чём мазабыла. :)


Время: 07:15