2012-03-20 6 views
1

VB 6.0でインターネットからファイルをダウンロードするためにURLDownloadToFileを使用しています。VB 6.0で帯域幅が制限されているとURLDownloadToFileが停止する

ネットワークの帯域幅を制限すると、ダウンロードを開始するとアプリケーションが停止するという問題があります。

私はコールバックを使用してダウンロードとタイムアウトの進行状況を確認していますが、アプリケーションがコールバックメソッドを停止させても起動しない場合もあります。

また、VBタイマーを使用してダウンロードの進行状況を確認しましたが、アプリケーションが停止状態の場合にもこのタイマーは起動しません。

サーバーが応答していない場合は、ダウンロードを中止したいと思いますが、これを解決するための解決方法を提案してください。私はVBでAsyncReadを使用してこの問題を解決してきた

EDITは、AsyncReadメソッドは、VBでネイティブに利用可能であり、あなたを助けるかもしれないリンクに続いて、問題のこれらの種類を解決することができます。 VB 6は、マルチスレッドをサポートしていません

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

答えて

1

。 VB 6アパートメントスレッドオブジェクトおよびプログラムは、STA(シングルスレッドアパートメント)での実行に限定されています。これは、あなたのexeが望むだけ多くのスレッドを回転させることができることを意味しますが、アパートメント内の1つのスレッドだけが同時に実行できます(同時実行はありません)。

VB.NetラッパーCOM可視クラスを作成し、別のスレッドでファイルをダウンロードすることができます。

関連する問題