■32872 / ) |
Re[4]: PictureBoxでネット上の画像表示時の不具合 |
□投稿者/ akkima (2回)-(2009/02/17(Tue) 10:20:35)
|
2009/02/17(Tue) 10:57:08 編集(投稿者) 2009/02/17(Tue) 10:24:05 編集(投稿者) 2009/02/17(Tue) 10:22:25 編集(投稿者) 2009/02/17(Tue) 10:21:02 編集(投稿者) 2009/02/17(Tue) 10:20:56 編集(投稿者)
返信ありがとうございます。
>出水さん 再現しないとのことで、私もボタンを押すと picturebox1.LoadAsync("http://xxx.co.jp/image.jpg") だけを実行するプロジェクトを作ってためしたところ、たしかに再現しませんでした。
ただ、どういう条件でなるのかいまひとつ分かりませんでしたが、 Firefox3でhttp://xxx.co.jp/image.jpgにアクセスし、FTPで画像を変更後、Firefoxの更新ボタンを押しても Firefoxで画像が切り替わらなくなることがありました。その場合VBでも画像が切り替わりませんでした。
Firefox3でCtrl+F5で更新させると変更後の画像がきちんと表示され、VBでも画像が切り替わっていました。 やっぱりブラウザのキャッシュなのかもしれません・・・。
>よねKENさん >PictureBox.LoadAsyncメソッドのソースを読むとLoadAsyncが処理中の場合は、 >何もせずにreturnするようです。 私のソースではpicturebox1.LoadCompletedイベントでロードが完了するまでボタンのenable=falseにしています。 だから、たぶんLoadAsyncメソッドは完了しているはずだと思います。
>倉田 有大さん LoadProgressChangedイベントでロード進行状況 LoadCompletedイベントでロード完了が取得できますよ。
----- 一応解決したっぽい?ので報告いたします。 とりあえず全てのブラウザのキャッシュやらセッションやらを削除する。
picturebox1.LoadAsync("http://xxx.co.jp/image.jpg?" & Now.Year & Now.Month & Now.Day & Now.Hour & Now.Minute & Now.Second) と最後に"?日付"を加えて常にアドレスを変えるようにしました。 これはhttp://support.adobe.co.jp/faq/faq/qadoc.sv?228621+002を参考にしました。
ブラウザでhttp://xxx.co.jp/image.jpgにアクセスしない。
これで過去の画像が表示されるという現象は発生しなくなりました。 "?a"が有効なのかどうか分かりません。 というか結局ブラウザのキャッシュが原因だったのかもしれません。(その場合は申し訳ありません。)
みなさんどうもありがとうございました。 -----
|
解決済み
|