- PR -

VBアプリが終了しません。

1
投稿者投稿内容
かつや
ベテラン
会議室デビュー日: 2004/01/19
投稿数: 70
投稿日時: 2004-01-21 14:54
【終了】ボタンのイベントに箇所に、
Application.Exit()
と書いているんですけど、
一旦、処理を実行させると、【終了】ボタンを押しても、
フォームは消えるが、プロセスが残っており、最後まで処理を実行してしまいます。
Application.Exit() だけではダメなのでしょうか?
ぢゃん♪
大ベテラン
会議室デビュー日: 2003/06/12
投稿数: 208
お住まい・勤務地: 都内
投稿日時: 2004-01-21 15:39
引用:

かつやさんの書き込み (2004-01-21 14:54) より:

一旦、処理を実行させると、【終了】ボタンを押しても、
フォームは消えるが、プロセスが残っており、最後まで処理を実行してしまいます。


マルチスレッドなんですね?

たとえば、
System.Diagnostics.Process.GetCurrentProcess().Kill()
とか。
でも、この方法で何が起きても私は知りませんよ。プロセスの強制終了なんて危なくて危なくて……。
かつや
ベテラン
会議室デビュー日: 2004/01/19
投稿数: 70
投稿日時: 2004-01-21 15:59
すみません。
単に、End で終了しますね。

自分でもはずかしくなってきました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-01-21 16:01
引用:

ぢゃん♪さんの書き込み (2004-01-21 15:39) より:

でも、この方法で何が起きても私は知りませんよ。プロセスの強制終了なんて危なくて危なくて……。


 怖いっす。マルチスレッドならスレッド分岐したときに子スレッドのIDを取っておいて、そいつをAbortしてやればよいのでは?


 というか、もう一つの質問を見ていると「処理スレッド」はマルチで動くことを前提としていないのではないかと疑いますが、処理スレッドがマルチにならないように、ちゃんとガードしてあるのでしょうか?
#「開始」を2回押しても処理が2重に走らない、という意味
#「終了」ボタンだけじゃなく、「×」ボタンやシステムコマンドの「閉じる」にも対応してね
架空兎
ベテラン
会議室デビュー日: 2003/08/18
投稿数: 78
お住まい・勤務地: さいたま氏
投稿日時: 2004-01-21 17:35
引用:

単に、End で終了しますね。


実行中のスレッドがすべて強制終了されるみたいですけど、大丈夫なのでしょうか・・・

ふと思ったのですが、終了するときに実行中のスレッドが他にあるのではないでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)