我正在使用URLDownloadToFile在VB 6.0中从Internet下载文件。
问题是,如果我限制网络带宽,我的应用程序会在开始下载时停止。
我正在使用回调来检查下载和超时的进度,但是当我的应用程序暂停我的回调方法时甚至不会触发。
我还使用VB计时器来检查下载进度,但是如果我的应用程序处于暂停状态,这个计时器也不会被触发。
如果服务器没有响应,我想中止下载,请建议我解决此问题的任何解决方案。
修改
我已经在VB中使用AsyncRead解决了这个问题,AsyncRead在VB中原生可用并且可以解决这些问题,以下链接可能对您有帮助。
http://visualstudiomagazine.com/articles/2008/03/27/simple-asynchronous-downloads.aspx
答案 0 :(得分:1)
VB 6不支持多线程; VB 6单元螺纹对象和程序仅限于在STA(单线程单元)中执行。这意味着你的exe可以根据需要调整尽可能多的线程,但公寓中一次只能执行一个线程(没有并发执行)。
您可以创建VB.Net包装器COM可见类,并在单独的线程中进行文件下载。