VB6.0使用のURLDownloadToCacheFileにてダウン途中のキャンセルのやり方

解決


ふぁいるま  2003-12-27 05:11:03  No: 81182

VB 6.0にてURLDownloadToCacheFile関数を使用し、指定URLのファイルを
ダウンロードしているのですが、この関数ですとダウンロード中の
ファイルをキャンセル出来る様なことを見つけ、いろんなHPを回り
調べてはみたのですがVBを使用してのサンプルソースらしきものを
見つけることが出来ませんでした。
IBindStatusCallback、E_ABORTという処理に必要なキーワードらしきものは
あったのですが、なにぶん初級〜中級レベルの自分には作成することが
できませんでした。
URLDownloadToCacheFile関数にてダウンロード中のキャンセルのやり方を
よろしければご指導よろしくお願い致します。
最終的には3分間ほどでダウンロードが完了しなければ、キャンセルを
するという感じの処理に出来れば良いなと思っております。


たかみちえ  URL  2003-12-27 07:31:41  No: 81183

一応ありましたよ。
http://216.239.53.104/search?q=cache:TwgXR2R3NukJ:www.users.gr.jp/ml/archive/delphi/34511.asp+URLDownloadToCacheFile+%E3%82%AD%E3%83%A3%E3%83%B3%E3%82%BB%E3%83%AB&hl=ja&lr=lang_ja&ie=UTF-8
Delphiのコードですが、十分ヒントになり得るものだと思いますので。


ふぁいるま  2003-12-27 08:07:12  No: 81184

たかみちえ様
返信ありがとうございます。
Delphiは解らない点が少し多すぎてちょっと辛いです。
VBでは標準では見つからないOnProgressメッセージ内で必ず使用しなければ
ならない様でしたら、メッセージの追加の方法が解らないので勉強し足さ
なければなりませんし、もしこのメッセージ外でもキャンセルが可能でしたら
使いやすいのです。恐らくIBindStatusCallbackに渡すE_ABORTが6.0では見つ
からなかった為に、いくつの数値?を渡せば良いのかもちょっと解らないです。
本を元に独学なので文に変な所あるかもです(汗


魔界の仮面弁士  2003-12-27 08:44:07  No: 81185

IBindStatusCallback って、[インターフェイス]ですよね。
VB6からだと、タイプライブラリ(*.TLB)を自作して、それを
参照設定する所から始めないといけないので、ハードルは高いかも。。。

# 自作するのではなく、以下にある Eduardo A. Morcillo さんの
# タイプライブラリを利用する……という手もありますけれどね。
http://www.mvps.org/emorcillo/

ダウンロードのキャンセル処理が必要という事であれば、
URLDownloadToCacheFile APIの替わりに、VB6のAsyncReadメソッドを
使ってみるというのも、選択肢の一つになるかも知れません。


ふぁいるま  2003-12-27 09:19:13  No: 81186

魔界の仮面弁士 様
返信ありがとうございます。
タイプライブラリですか..  無理そうです。<-(これが解っただけでも多謝)
AsyncReadメソッドを調べましてやってみたいと思います。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加