マンガでよめる痔のこと・薬のこと

 いつも大変お世話になっております。
 VB2005でプログラミングしています。

 PictureBoxにBitmapを入れて表示させているのですが、それをそのまま拡大していくと(表示されていないところを消さない限りは)いつかはメモリ不足になります。
 これまでは、評価した結果でメモリ不足にならない倍率に上限を設定していたのですが、よりメモリが大きいPCならもっと拡大できるはずなので、拡大率の上限を緩和する、というバージョンアップを行うことにしました。

 エラーが出たらそれを回避して、そのPCではそれ以上拡大しないようにしたいと思うのですが「メモリ不足」はどこで起こるか言っていでなく、Try~等の命令では網羅できていません。

 恐れ入りますが、メモリ不足になってもエラーにならず戻れるよい方法がありましたらご教示いただけますと幸いです。

A 回答 (1件)

>表示されていないところを消さない限り


上記をみると、PictureBox.Dispose()をしていないように読めるので、

PictureBoxにイメージがある場合は
・イメージを消す
・新しい領域を描画する
の手順を踏まえるべきと考えます。そうでなければメモリ上のイメージが残り続け、どれだけメモリを載せていてもいつかメモリ不足を起こします。

URL:http://dobon.net/vb/bbs/log3-28/17215.html
の、下部に解放について記述があります。

また、OutofMemoryExceptionが拾えない状況でしょうか。
    • good
    • 0
この回答へのお礼

御礼遅くなりまして申しわけありません。
よい情報、助かります。ありがとうございます。
早速明日朝試してみます。

お礼日時:2013/11/20 01:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング