Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 |

 

  Вопрос: Работа с Инетом Добавлено: 05.06.06 14:46  

Автор вопроса:  Softer | Web-сайт: hware.org.ua | ICQ: 203660381  
Задача стоит такая (а точнее проблема :) ):
прога долна сидеть в трее и переодически закачивать файлы (обновлять уже скаченые). В приципе с треем и всем остальным я разобрался, но при закачке файла АПИ-функцией URLDownloadToFile форма "виснет" причем DoEvents не помогает...
Как мне быть? Может кто уже имеет кусочек кода? или контрол...

Ответить

  Ответы Всего ответов: 34  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 05.06.06 18:01
пока качает URLDownloadToFile управление не у твоей проги, а у IE, ещё могут быть проблемы с кешированием... советую использовать сокеты...

Ответить

Номер ответа: 2
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #2 Добавлено: 05.06.06 21:39
Кусочек кода тебе вряд ли поможет.
URLDownloadToFile нужно вызывать в отдельном потоке, чтобы основная прога не замерзала.
Самый простой путь решения - сделай dll, и в ней создавай поток, который будет качать через URLDownloadToFile.

Ответить

Номер ответа: 3
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #3 Добавлено: 06.06.06 10:38
Геморно на VB. Проще запердолить ActiveX.Exe и оттуда уже подымать столько потоков, сколько понадобится.
Ну ежели человек в сях круто шарит - тады канешна...

Ответить

Номер ответа: 4
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #4 Добавлено: 06.06.06 11:15
Совсем не геморно.
Просто это... знать надо как...
http://bbs.vbstreets.ru/viewtopic.php?t=19857

Ответить

Номер ответа: 5
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #5 Добавлено: 06.06.06 11:26
Круто шарить необязательно :) Достаточно немножко шарить на уровне "умею вызывать апи-функцию".
Activex.exe если не ошибаюсь, требует регистрации в реестре, это так?

Ответить

Номер ответа: 6
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #6 Добавлено: 06.06.06 11:40
Требует, но только если не является также и запускаемым файлом. Тогда регистрится автоматически.
Насчет ссылки сказать не могу, на vbstreets не регистрился, но, насколько я знаю, пока еще никому не удалось создать нормальный надежный проект в VB с использованием CreateThread. На Сях - пожалуйста, но ведь это уже другая тема...

Ответить

Номер ответа: 7
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #7 Добавлено: 06.06.06 11:42
Просто это... знать надо как...
этот способ конечно повышает вероятность, что прога не рухнет, но на все сто не гарантирует. Всегда есть вероятность, что при создании VB-потока прога склеит ласты. Девять раз проскочит, на десятый - вылетит.

LOL, это вроде ты спрашивал про dll2lib?
Ты часом не к vb линковал .lib-файлы? Если так, то где есть инфа про линкование lib? Помню что видел - не могу снова найти:(

Ответить

Номер ответа: 8
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #8 Добавлено: 06.06.06 11:48
Какой CreateThread?
Зачем CreateThread?
Никаких CreateThread.
И, тем не менее, без блокировки.

Ответить

Номер ответа: 9
Автор ответа:
 Softer



ICQ: 203660381  

Вопросов: 29
Ответов: 205
 Web-сайт: hware.org.ua
 Профиль | | #9
Добавлено: 06.06.06 11:52
Ну на URLDownloadToFile я уже решил проставить крест....

А как правильно организовать на сокетах? Как сделать фильтровку служебной информации и полезной?

Ответить

Номер ответа: 10
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #10 Добавлено: 06.06.06 11:56
Ну, я вообще то линковал в С++. Хотя про VB тоже видел. Вроде как VBшный компилятор - это старый переработаный сяшный. Но находил вроде в гугле.
ЗЫ Эта dll2lib - опасная чтука, одна библа у меня после такой ковертации и линковки просто уходить в GPF стала...
2GSerg Тогда как, поясни. Надеюсь, не через таймер? :)

Ответить

Номер ответа: 11
Автор ответа:
 Viper



ICQ: 249094859 

Вопросов: 0
Ответов: 310
 Профиль | | #11 Добавлено: 06.06.06 11:59
но, насколько я знаю, пока еще никому не удалось создать нормальный надежный проект в VB с использованием CreateThread.


если пойти по заданной ссылке, то можно убедиться в обратном. Можно также найти и другие примеры успешного юзанья CreateThread в VB

Ответить

Номер ответа: 12
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #12 Добавлено: 06.06.06 12:02
ЗЫ Еще было в нете полно примеров с попытками создать Apartment-threaded приложения в VB, но это полный лол - прям русская рулетка какая-то :)
ИМХО, кроме ActiveX.EXE дельного тут предложить трудно, хотя dll'ки и поддерживают apartment, но, повторюсь, в VB6 организовать БЕЗОПАСНУЮ многопоточность таким образом нельзя.

Ответить

Номер ответа: 13
Автор ответа:
 Softer



ICQ: 203660381  

Вопросов: 29
Ответов: 205
 Web-сайт: hware.org.ua
 Профиль | | #13
Добавлено: 06.06.06 12:02
Народ, помогите с закачкой фалов! А разбираться с потоками будем потом... ;'-(

Ответить

Номер ответа: 14
Автор ответа:
 Softer



ICQ: 203660381  

Вопросов: 29
Ответов: 205
 Web-сайт: hware.org.ua
 Профиль | | #14
Добавлено: 06.06.06 12:04
Т.е. файлов.... :)

Ответить

Номер ответа: 15
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #15 Добавлено: 06.06.06 12:05

если пойти по заданной ссылке, то можно убедиться в обратном. Можно также найти и другие примеры успешного юзанья CreateThread в VB

Каким образом? Что приложение запустилось? Круто. Пять раз запустил корректно, на шестой - GPF. Запустил на другой машине - GPF получил сразу.
Приведи хотя бы один пример успешного(!) юзанья CreateThread в VB. А я тебе вышлю скрин такой красивый с global protection fault. Если, конечно, приложение сразу не свернется.
VB6 непотокобезопасен в принципе, модель свободных потоков для него - смерть.

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам