投稿日 | : 2006/02/13(Mon) 11:57 |
投稿者 | : GOD |
Eメール | : |
URL | : |
タイトル | : Re: プロセスの終了について |
> MDIフォームを使ったexeを動かしたときに、xpなら終了するのに、2000だとプロセスが動いたまま
に
> なっていて困ってます。表面上は動いてないのですが、タスクマネージャーには残ってしまうので
> す。何が原因なのでしょうか?xpと2000でプロセスの終了の仕方がどのように違うのでしょう
> か・・・?
>
フォームのアンロードがうまくいっていないのでは?またはアンロード後にコントロールにアクセスし
てロー
ドされているとか。
調べ方:
(1) 問題の発生する環境(2000)でIDEでプロジェクトを起動。
(2) F5でプログラム開始。
(3) プロセスが残るような状況を作ってアプリ上でプログラム終了。
(4) もちろんプロセスに残っているのでIDEのデバッグは終了しないので「実行」メニューの「中断」を
選択。
(5) イミディエイトウィンドウで「?Forms.Count」を実行して残っているフォーム数を確認。
(6) イミディエイトウィンドウで「?Forms(0).Name」を実行して残っているフォーム名を確認。
(7) 残っているフォーム数分(6)を繰り返す。Forms(x)のx部分はインクリメントしていって下さい。
(8) 「実行」メニューの「終了」でプログラム終了。
(9) あとは残っているフォームのロード部分、アンロード部分にブレークポイントを置いて(2)(3)を実
行。
(10) ロードされたものが必ずアンロードされていることを確認。