投稿日 | : 2005/03/07(Mon) 18:02 |
投稿者 | : 魔界の仮面弁士 |
Eメール | : |
URL | : |
タイトル | : Re: プログラムが終了しない。 |
アンロード状態で、フォームのプロパティ(たとえばhWndプロパティ)に
アクセスしている部分があるのでは無いでしょうか?
> 再生されたままの状況になってしまいます。
その状態で「一時停止ボタン」を押してから、イミディエイトに下記の一行を
貼り付けて、Enterで実行してみてください。もしも 1以上の数が現れたら、
ロード中のフォームが残っている事になります。
?"表示フォーム数="DoEvents,"ロードフォーム数="Forms.Count
もし、フォームが残っているようであれば、下記の手順で調査してみてください。
まず、それぞれのフォームの「Private Sub Form_Load()」の行に
ブレークポイントを張っておきます。この状態で実行すると、フォームが
ロードされるたびに止まりますよね。
そうしたら、ブレークポイントで中断されたときに、[Ctrl]+[L] キーを
押してみて、どの処理によってフォームがロードされているのか、
呼び出し履歴で確認してみましょう。
ロードするつもりの無い部分から、ロード処理が呼ばれていたりはしませんか?
もしも、ロード処理には問題が無いようであれば、今度はアンロード
し忘れているフォームが無いかを探してみてください。たとえば、
Hideメソッド、または Visible = False にて消したままのフォームが
残っていたりはしませんか?
こちらの場合は、Initialize/Load/Unload/Terminateイベントが、
どのタイミングで発生しているかを追跡していけば、原因を
突き止められるかと思います。