Какой-то косяк с Inet1.OpenUrl, гляньте на свежую голову

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Какой-то косяк с Inet1.OpenUrl, гляньте на свежую голову

Сообщение Pantalone » 23.01.2010 (Сб) 2:51

Проблема в том, что если при выполнении подряд нескольких OpenUrl встречается ссылка, которая не дает результата и срабатывает таймаут, то последующие OpenUrl какие-то корявые выходят, они не дают выполнить после себя GetHeader("Content-type").
Гляньте простой примерчик.
Если закомментировать строку
Код: Выделить всё
Call GetContentType("http://www.gor-net.ru/favicon.ico")
то все пучком для всех остальных сылок, а если оставить вместе с этой строкой то косяки идут.
Вложения
OpenUrlBug.zip
(1.72 Кб) Скачиваний: 55

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Какой-то косяк с Inet1.OpenUrl, гляньте на свежую голову

Сообщение Хакер » 23.01.2010 (Сб) 2:53

MSInet основан на WinInet? WinInet устроен из багов.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Re: Какой-то косяк с Inet1.OpenUrl, гляньте на свежую голову

Сообщение Pantalone » 23.01.2010 (Сб) 16:12

Проблему создает строка
Inet1.RequestTimeout = 7
Если ее убрать, то OpenURL ждет свои сколько там положено 17 секунд (какой-то дефолтный таймаут?) и дальше все работает как надо.
Попытался было через Execute, но там на RequestTimeout вообще ноль внимания и выжидается дефольный длинный таймаут. Как же быть-то ё-мае?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Какой-то косяк с Inet1.OpenUrl, гляньте на свежую голову

Сообщение Хакер » 23.01.2010 (Сб) 16:19

Например можно использовать упомянутый WinHTTP.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Pantalone
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 687
Зарегистрирован: 12.11.2005 (Сб) 16:46
Откуда: Сапог

Re: Какой-то косяк с Inet1.OpenUrl, гляньте на свежую голову

Сообщение Pantalone » 23.01.2010 (Сб) 16:52

Решил проблему через Execute и собственный таймер, который вызывает Cancel. Вроде работает.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 58

    TopList