VB 6.0にてURLDownloadToCacheFile関数を使用し、指定URLのファイルを
ダウンロードしているのですが、この関数ですとダウンロード中の
ファイルをキャンセル出来る様なことを見つけ、いろんなHPを回り
調べてはみたのですがVBを使用してのサンプルソースらしきものを
見つけることが出来ませんでした。
IBindStatusCallback、E_ABORTという処理に必要なキーワードらしきものは
あったのですが、なにぶん初級〜中級レベルの自分には作成することが
できませんでした。
URLDownloadToCacheFile関数にてダウンロード中のキャンセルのやり方を
よろしければご指導よろしくお願い致します。
最終的には3分間ほどでダウンロードが完了しなければ、キャンセルを
するという感じの処理に出来れば良いなと思っております。
一応ありましたよ。
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のコードですが、十分ヒントになり得るものだと思いますので。
たかみちえ様
返信ありがとうございます。
Delphiは解らない点が少し多すぎてちょっと辛いです。
VBでは標準では見つからないOnProgressメッセージ内で必ず使用しなければ
ならない様でしたら、メッセージの追加の方法が解らないので勉強し足さ
なければなりませんし、もしこのメッセージ外でもキャンセルが可能でしたら
使いやすいのです。恐らくIBindStatusCallbackに渡すE_ABORTが6.0では見つ
からなかった為に、いくつの数値?を渡せば良いのかもちょっと解らないです。
本を元に独学なので文に変な所あるかもです(汗
IBindStatusCallback って、[インターフェイス]ですよね。
VB6からだと、タイプライブラリ(*.TLB)を自作して、それを
参照設定する所から始めないといけないので、ハードルは高いかも。。。
# 自作するのではなく、以下にある Eduardo A. Morcillo さんの
# タイプライブラリを利用する……という手もありますけれどね。
# http://www.mvps.org/emorcillo/
ダウンロードのキャンセル処理が必要という事であれば、
URLDownloadToCacheFile APIの替わりに、VB6のAsyncReadメソッドを
使ってみるというのも、選択肢の一つになるかも知れません。
魔界の仮面弁士 様
返信ありがとうございます。
タイプライブラリですか.. 無理そうです。<-(これが解っただけでも多謝)
AsyncReadメソッドを調べましてやってみたいと思います。
ありがとうございました。
ツイート | ![]() |