DOBON.NETプログラミング掲示板過去ログ
スレッドが自分で終了するとプログラムが固まってしまう。
題名: スレッドが自分で終了するとプログラムが固まってしまう。
著者: こうの
日時: 2005/08/10 14:21:06
ID: 12152
この記事の返信元:
(なし)
この記事への返信:
(なし)
ツリーを表示
環境/言語:[XP(SP2) Framework1.1]
分類:[.NET]
モジュールの"main"で順にFormを開いています。
1つのFormを閉じる時、次のFormを変数に設定していないとプログラムを終了します。
Public nextForm as Form
Sub main()
nextForm = New form1 'まず画面1をロード
Do
Dim F As Form = nextForm
nextForm = Nothing
Application.Run(F)
Loop While (Not nextForm Is Nothing)
End sub
あるFormの"TreeView"オブジェクトからスレッドを実行しています。
そのスレッドを他から終了するには問題ないのですが、スレッド内でエラーを
発見し、ループを抜けて終了すると"TreeView"オブジェクト内が真っ白になり、
Formが固まってしまいます。
時にはプログラムが自動終了してしまうように見えます。
(Application.Run(F)の行で"そのハンドルは既にされています"とのエラーが
でる)
但し、Formの"Closing"イベント等は発生していません。
よろしくお願い致します。
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.NET]
モジュールの"main"で順にFormを開いています。
1つのFormを閉じる時、次のFormを変数に設定していないとプログラムを終了します。
Public nextForm as Form
Sub main()
nextForm = New form1 'まず画面1をロード
Do
Dim F As Form = nextForm
nextForm = Nothing
Application.Run(F)
Loop While (Not nextForm Is Nothing)
End sub
あるFormの"TreeView"オブジェクトからスレッドを実行しています。
そのスレッドを他から終了するには問題ないのですが、スレッド内でエラーを
発見し、ループを抜けて終了すると"TreeView"オブジェクト内が真っ白になり、
Formが固まってしまいます。
時にはプログラムが自動終了してしまうように見えます。
(Application.Run(F)の行で"そのハンドルは既にされています"とのエラーが
でる)
但し、Formの"Closing"イベント等は発生していません。
よろしくお願い致します。