Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с Builder6 и сокетами 
:(
    Опции темы
RoZher
Дата 30.3.2005, 13:22 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Есть необходимость с некоторой переодичностью опрашивать сервер по TCP/IP.
Для этого я использую таймер по которому проверяю активность сокета (используется TClientSocket), и если не активен то пробую его открыть внутри try-catch. Далее если он активен то посылаю серверу запрос, иначе ставлю признак ошибки и завершаю обработку таймера.
По ходу программирования я сперва начал отлаживать ветку с ошибкой открытия сокета и столкнулся со следующей проблемой. Первые два-три прохода все работает нормально (делаю Open(), проверяю что сокет не активен, ставлю признак ошибки, завершаю обработку таймера). Затем на 3-й или 4-й проход после выхода из обработки таймера случается исключение ESocketError с сообщеинем 'Asynchronous socket error <код ошибки>'.
Если у сокета поставить обработку события OnError, то перед появлением сообщения программа попадает на нее.

В связи с этим вопрос, почему искючение не ловится в try-catch в котором я пробую открыть сокет, и как можно обойти выдачу этого сообщения?
  Вверх
_hunter
Дата 30.3.2005, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 24
Всего: 98



оно ловится. просто IDE перехватывает все исключению
чтобы на них не останавливаться убери галку Tools->Debugger Options...->Language Exceptions->Stop on Dephi Exceptions


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
RoZher
Дата 30.3.2005, 16:21 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ничего это не дает. Мой try-catch его не ловит. Просто исполнение перестает останавливаться.
А на экран бесконечно валится сообщение об ошибке.

И еще, пока опция была включена исполнение приостанавливалось в конце основного try в WinMain (кстати в его catch управление не попадает smile ). Т.е. сам Builder его ловил явно вне моей части программы.
  Вверх
_hunter
Дата 30.3.2005, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 24
Всего: 98



значит ошибка не на открытии...


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Quadruple
Дата 30.3.2005, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 4.11.2004

Репутация: нет
Всего: нет



RoZher
В функции OnError надо изменять переменную ErrorCode на 0, тогда ниче выскакивать небудет.
PM   Вверх
Guest
Дата 31.3.2005, 08:56 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Quadruple
Спасибо за совет, теперь все ОК.
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1625 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.