■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
|
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った): |
■ ページの共有: |
[ サイト内検索 ]
![]()
カスタム検索
|
#1490-3オブジェクト数の限界Akiue2001-11-13(火) 10:16
#1494-3RE#1490:オブジェクト数の限界よねKEN2001-11-13(火) 10:51
#1494-0RE#1490:オブジェクト数の限界よねKEN2001-11-13(火) 19:51
#1494-3RE#1490:オブジェクト数の限界よねKEN2001-11-13(火) 10:51
#1494-0RE#1490:オブジェクト数の限界よねKEN2001-11-13(火) 19:51
Akiue2001-11-13(火) 10:16
今、沢山のピクチャーボックスを使うフォームを作成しています。 現段階で、一つのフォームにピクチャーボックスが640以上存在しています。 しかし、最近システムリソース不足で画面が正しく表示されなくなってきました。 オブジェクトを扱うにあたって、個数の限界とかがあるのでしょうか? よろしければ、一般的な限界を教えてください。 宜しくお願いします。 開発環境はWIN98SE・VB6です。
よねKEN2001-11-13(火) 10:51
> 今、沢山のピクチャーボックスを使うフォームを作成しています。 > 現段階で、一つのフォームにピクチャーボックスが640以上存在しています。 かなり多すぎます。 640という数だけでも単純に多いですが、しかもリソースの消費量の多い PictureBoxがそれだけあれば、動きがあやしくなってきても不思議はありません。 ・PictureBoxコントロールの代わりにImageコントロールで代用する ・一つのPictureBoxの中に複数の描画内容を含める ・Pictureオブジェクト(stdPictureオブジェクト)を利用する ・PictureBoxをコンテナとして使っているのであれば、Frameコントロールを利用する などの代替手段を取りましょう。 その他、表示のためだけにTextBoxを使っているところがあればLabelに代えるとか、 表のような構成のところに表系のコントロールを使用していないなら使用を検討する、 フォームを機能ごとに分けて、一度にはそれらをロードしない、 動的にコントロールをロード/アンロードするなど、 リソース消費を抑える手はいろいろあります。 > しかし、最近システムリソース不足で画面が正しく表示されなくなってきました。 > オブジェクトを扱うにあたって、個数の限界とかがあるのでしょうか? 理論上は、 オブジェクト名が別のコントロールは254個までしか持てません。 コントロール配列にしている場合は、オブジェクト名は254個まで、 各コントロール配列はIntegerの最大値までです。 しかし、実際には9x系はリソースの無制限ではありませんので、 とてもじゃないですが、こんなには使えません。 また、普通は画面構成や使用するコントロールなどを検討して、 無駄なコントロールを排除すれば回避できるはずです。 > よろしければ、一般的な限界を教えてください。 VB6にも付属しているかどうか知りませんが、 VBのサンプルにOptimize.vbpというのがあります。(samples\PGuide\Optimizeの中) その中にImageコントロールとPictureBoxコントロールをリソースがなくなるまでロード し続けるサンプルがありますので、一度動かしてみるとよいでしょう。
よねKEN2001-11-13(火) 19:51
> 今、沢山のピクチャーボックスを使うフォームを作成しています。 > 現段階で、一つのフォームにピクチャーボックスが640以上存在しています。 かなり多すぎます。 640という数だけでも単純に多いですが、しかもリソースの消費量の多い PictureBoxがそれだけあれば、動きがあやしくなってきても不思議はありません。 ・PictureBoxコントロールの代わりにImageコントロールで代用する ・一つのPictureBoxの中に複数の描画内容を含める ・Pictureオブジェクト(stdPictureオブジェクト)を利用する ・PictureBoxをコンテナとして使っているのであれば、Frameコントロールを利用する などの代替手段を取りましょう。 その他、表示のためだけにTextBoxを使っているところがあればLabelに代えるとか、 表のような構成のところに表系のコントロールを使用していないなら使用を検討する、 フォームを機能ごとに分けて、一度にはそれらをロードしない、 動的にコントロールをロード/アンロードするなど、 リソース消費を抑える手はいろいろあります。 > しかし、最近システムリソース不足で画面が正しく表示されなくなってきました。 > オブジェクトを扱うにあたって、個数の限界とかがあるのでしょうか? 理論上は、 オブジェクト名が別のコントロールは254個までしか持てません。 コントロール配列にしている場合は、オブジェクト名は254個まで、 各コントロール配列はIntegerの最大値までです。 しかし、実際には9x系はリソースの無制限ではありませんので、 とてもじゃないですが、こんなには使えません。 また、普通は画面構成や使用するコントロールなどを検討して、 無駄なコントロールを排除すれば回避できるはずです。 > よろしければ、一般的な限界を教えてください。 VB6にも付属しているかどうか知りませんが、 VBのサンプルにOptimize.vbpというのがあります。(samples\PGuide\Optimizeの中) その中にImageコントロールとPictureBoxコントロールをリソースがなくなるまでロード し続けるサンプルがありますので、一度動かしてみるとよいでしょう。
このページと関連する記事:
#1490-0オブジェクト数の限界2001-11-13(火) 19:16#8586-0リソースに問題あり2000-03-15(水) 17:57
#46606-0リソースを大量に消費2001-09-06(木) 16:42
#20798-0ImageコントロールとPictureBox コントロールの違いについて2001-05-10(木) 10:12
#44003-0コントロールのロード失敗について2001-06-14(木) 05:32
#21357-0ActiveXが重い。2001-06-14(木) 13:46
#23887-0リソース不足2001-10-22(月) 11:31
#12796-0画像のサムネイルの一覧を表示するには?2000-01-07(金) 21:47
#2385-2消費するリソースを軽減2002-08-22(木) 02:32
#552-0メモリ不足になります。2002-04-06(土) 16:56