2012-03-20 2 views
1

Я использую URLDownloadToFile для загрузки файлов из Интернета в VB 6.0.URLDownloadToFile останавливается, если ограниченная пропускная способность в VB 6.0

Проблема в том, что если я ограничу свою пропускную способность сети, мое приложение прекратится, когда я начну загрузку.

Я использую обратные вызовы, чтобы проверить ход загрузки и таймаута, но когда мое приложение останавливает мои методы обратного вызова, даже не запускайте.

Я также использовал таймер VB, чтобы проверить ход загрузки, но этот таймер также не срабатывает, если мое приложение находится в состоянии остановки.

Я хочу прервать загрузку, если сервер не отвечает, любезно предложите мне какое-либо решение для решения этой проблемы.

EDIT

Я решил эту проблему с помощью AsyncRead в VB, AsyncRead является изначально доступен в VB и может решить такого рода проблему, После ссылки могут помочь вам.

http://visualstudiomagazine.com/articles/2008/03/27/simple-asynchronous-downloads.aspx

ответ

1

VB 6 не поддерживает многопоточность; Объекты и программы, размещенные в квартире VB 6, ограничены исполнением в STA (Single Threaded Apartment). Это означает, что ваш exe может раскручивать столько потоков, сколько захочет, но только один поток в квартире может выполняться одновременно (без одновременного выполнения).

Вы можете создать видимый класс оболочки VB.Net COM и сделать загрузку файла в отдельной теме.

Смежные вопросы