| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > Ошибка сокета |
| Автор: Romero 1.6.2005, 13:06 | ||
| При попытке произвести коннект: IdTCPClient.Connect; //использую Indy's TCP Server & Client если сервак не подключен по указанному адресу, то возникает ошибка сокета №10061. Хочу обработать исключение. Так, чтобы в случае подобной или любой другой ошибки, возникающей при подключении к серверу, выполнялось некое дествие. Попытка написать так:
не дала результатов - прога все равно вылетает с той же ошибкой! Что не так? Помогите, пожалуйста! |
| Автор: _hunter 1.6.2005, 13:30 |
| без отладчика запусти. или в свойсвах дебаггера отключи останов на исключениях |
| Автор: Romero 1.6.2005, 16:09 |
| Дело в том, что прога вылетает с этим сообщением не только во время компиляции, но и уже откомпиленная. Даже если бы это решило проблему, это не то, что мне нужно. Я хочу именно ОБРАБАТЫВАТЬ такие ошибки, а не игнорировать... |
| Автор: z-END 1.6.2005, 16:17 | ||||
Хочешь- обрабатывай, кто тебе мешает?! except не значит "игнороировать", а значит этот блок будет выполняться при возникновении исключительной ситуации в блоке try и тут ты уже делай че хочешь, обрабатывай сколько влезет:))
скомпилируй такую вещь и запусти ее, только не из дельфей а проводником, при невозможности законнектицца ты увидишь только тест 'Нифига не коннект:(' |
| Автор: _hunter 1.6.2005, 16:47 | ||
странно было бы если бы она вылетала с этим сообщением при компиляции |
| Автор: Romero 1.6.2005, 16:56 |
| Всё, дошло. Пасиба! |
| Автор: Гость_Praetorian 10.10.2005, 15:10 |
| Та же ерунда... тока ничего не дошло из выше написанного. Ошибка 10060. Короче говоря вышел таймаут по коннекту. Вообщем суть использования IdTCPClient-а в Пинге определенного Ip-шника. На норм пинг - все ок, в на отсутствие соединения - посылает на #10060. Что делать??? |
| Автор: Stolzen 17.10.2005, 14:15 |
| Попробуй написать отлов ошибок так: procedure TMainForm.MyExcept(Sender: TObject; Err: Exception); begin if Err = EidError then exit; end; В OnCreate: Application.OnException := MyExcept; И теперь, при ошибке будут появлятся твои сообщения (или не будут вообще) |