Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> зависает InternetOpenUrl 
:(
    Опции темы
hawkins
Дата 9.5.2007, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Помогите с проблемой. 
Вызываю InternetOpenUrl для соединения с сервером
 для последующей закачки файла, но если страница недоступна то InternetOpenUrl
надолго зависает. 
Можно ли как-то усановить таймаут на соединение  по истечении которого InternetOpenUrl завершалась ? Подозреваю что это как-то делается через параметр pszHeaders. Если кто делал такое поделитесь кодом плиз. Заранее спасибo.
PM MAIL   Вверх
aktuba
Дата 9.5.2007, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

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



А почему бы не выполнять все действия в отдельном потоке?

P.S.: если не хочется так - копай в сторону InternetSetOption...

Это сообщение отредактировал(а) aktuba - 10.5.2007, 01:11


--------------------
user posted image
PM MAIL WWW Skype   Вверх
hawkins
Дата 10.5.2007, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Вообще я сначала в потоке и делал вызов InternetOpenUrl, а в основном потоке засекал таймер и в вечном циклке проверял таймаут, если время
превысило порог то убивал поток. Но проблема в том что если два раза подряд убить поток в котором не завершилась InternetOpenUrl, то последующие вызовы не срабатывают даже если страница доступна.
Кто-нить знает можно ли убивать поток когда InternetOpenUrl не
завершилась или может у меня комп глючит ?


PM MAIL   Вверх
MetalFan
Дата 11.5.2007, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

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



Цитата(MSDN)
INTERNET_OPTION_CONNECT_TIMEOUT 
2
Sets or retrieves an unsigned long integer value that contains the time-out value, in milliseconds, to use for Internet connection requests. If a connection request takes longer than this time-out value, the request is canceled. When attempting to connect to multiple IP addresses for a single host (a multihome host), the timeout limit is cumulative for all of the IP addresses. This option can be used on any HINTERNET handle, including a NULL handle. It is used by InternetQueryOption and InternetSetOption




--------------------
There are always someone smarter than you...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

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

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

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

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

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


 




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


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

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