- - PR -
ウィンドウのハンドルを作成中にエラーが発生しました。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-07-13 17:29
皆様、お疲れ様です。
WindowsServer2003、SQLServer2000、VisualBasic.NET2003を使用したC/Sアプリケーションの作成に携わっているのですが、あるエラーで苦しんでいます。 表題の「ウィンドウのハンドルを作成中にエラーが発生しました。」 というエラーです。 リソース不足によるエラーということはわかったのですが、下記の方法ではうまく解決できませんでした。 1.POPUP画面クローズ後にDisposeする 2.POPUP画面クローズ後にNewしているFormにNothingを設定 3.POPUP画面クローズ後にガベージコレクションを強制実行 エラーログの調査の結果、POPUP画面のオープン・クローズの近辺で当該エラーが発生しているため上記の方法を試してみたのですがうまくいきません。 どなたか解決方法を教えていただけませんか?よろしくお願い致します。 | ||||
|
投稿日時: 2006-07-13 17:32
ソースがなきゃ答えようがない・・・
| ||||
|
投稿日時: 2006-07-13 17:36
ソースは載せることができないんです…。すいません。
このエラーの代表的な解決法等ありましたら教えて頂けないでしょうか? | ||||
|
投稿日時: 2006-07-13 18:07
「ウィンドウのハンドルを作成中にエラーが発生しました」ググってみた
| ||||
|
投稿日時: 2006-07-13 18:16
「現象が再現する最低限のテストコードを記述する」のが定石だけど・・・。 まずはアンマネージドリソースがリークしていないか検証かな。 | ||||
|
投稿日時: 2006-07-13 20:43
ポップアップ画面を表示するすべてで発生する訳じゃないでしょ?
特定の画面で、ならば、その画面を徹底的に調べる。 すべてで発生するというのなら、タスクマネージャの「ハンドルの数」が、減らしたいタイミングで減っているか確認する。 それでもわからないなら、ソリューションをコピーして、コピーしたところから少しずつ機能をそぎ落とし、出なくなるまでやる。でなくなったら、そこ以外を元に戻して、やっぱり現象が出るか確認する。でないなら、今カットしている機能が悪い。出たなら、基本的な設計が間違っている。 ソースが出せないなら、掲示板での質問は、その後でも遅くない。 | ||||
|
投稿日時: 2006-07-14 09:16
みなさまご返答ありがとうございました。
ご指摘の通りPOPUP画面の中で呼び出し元画面をインスタンス化して呼び出していたものをメモリ解放せずに(DisposeもNothing設定もせずに)ほっておいたため、起こっていたようです。 上記の問題を修正したところ、エラーは発生しなくなりました。 ありがとうございました。 |
1