![]() |
|
Модераторы: Snowy, Poseidon, MetalFan |
![]()
|
|
| Лис |
|
|||
|
Unregistered |
Доброго времени суток. Написал программу, которая использует NetMessageBufferSend для передаи сообщений. Столкнулся с проблемой, что в том случае, если IP адрес введен несуществующий, то программа зависает. Я так понимаю, ждет ответа получателя. Подскажите, пожалуйста, можно ли как-то поставить лимит на время ожидания ответа.
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 1 Всего: 112 |
Можно попробовать в поток сунуть:
-------------------- С уважением, г-н Посол. |
|||
|
||||
| Лис |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 19.9.2005 Репутация: нет Всего: нет |
Спасибо за ответ. Вот что у меня получилось:
Программа вываливается в EAccessViolation на строке 10. Никак не могу понять, почему. Полхоже, NetSend здесь ни при чем. Ее можно всю закомментировать - та же ошибка. Это сообщение отредактировал(а) Лис - 20.9.2005, 11:51 |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 1 Всего: 112 |
Если взаимодействуешь с VCL, то надо использовать TThread и метод Synchronize, либо в конструктор потока передавать нужные данные...
Но я сейчас подумал немного и решил, что я тебе неправильно насоветовал... Если уничтожать поток насильно, то не всё освободится скорее всего. Сама NetMessageBufferSend может временно память выделять, открывать какие-нибудь объекты, уничтожив поток, эта память останется висеть ничейной... Вобщем, не очень хорошо. Поэтому лучше всего перед посылкой сообщения проверить существование этого IP-адреса, пропинговать, смотри соседнюю тему... -------------------- С уважением, г-н Посол. |
|||
|
||||
| Лис |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 19.9.2005 Репутация: нет Всего: нет |
У меня была такая идея, но хотел попробовать с потоками разобраться. Спасибо за помощь.
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Сети" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |