VB2005 「デバッグの停止」ボタンを検出するには?

解決


ぴろ  2013-01-30 22:59:04  No: 148073  IP: [192.*.*.*]

VB2005開発環境の「デバッグの停止」ボタンでデバッグを 
中止したときに発生するイベント  ってありますでしょうか? 

ADボードを使ったアプリを作っているのですが、ボードのクローズ処理を 
しないと、ボードが使用不可になってしまいます。 
FormClosingにはボードのクローズ処理を書いてあるのですが、 
「デバッグの停止」ボタンはイベントが引っ掛かりません。 

四角のボタンを押さないように気をつけているのですが、ついうっかり押して 
毎回  再起動しています。 

検索してみましたが・・・・。良い方法が見つかりません。 

よろしくお願いします

編集 削除
ミッキー  2013-02-02 00:40:35  No: 148074  IP: [192.*.*.*]

デバッグの停止で動作するイベントはわかりませんが、
案として以下を提案。

毎回のオープン処理を行う直前に
クローズ処理をするのはダメですか?

編集 削除
オショウ  2013-02-02 01:11:36  No: 148075  IP: [192.*.*.*]

どこのメーカーのA/Dボードをお使いか解りませんが・・・

一般的にA/D変換中にデバッグの停止を行うと、ドライバ
内部の割り込みが止まらずに保護違反して、最悪OSクラッ
シュやOSの再起動となります。

これはA/Dボードのドライバーや提供されているAPIの
出来に依存しますので・・・A/Dオープン後ならデバッグ
の停止を行わないようにするしかありません。

最低限の回避方法としては・・・
A/Dボードアクセス機能を別のクラスライブラリ(DLL)
にして、Implements iDisoise属性を付け、Dispose時かFinalse
時にオープンしていたらクローズする・・・と言う機能を付
加するくらいでしょうか。

それでもOSクラッシュや再起動は完全には防げませんし、
オープンされたまま、クローズできずに再オープンもできませ
ん。

可能か不可能か解りませんが・・・
A/Dボードのデバイスを無効化して有効化することで回復で
きるケースがあります。が、A/Dボード上で割り込み変換中
であった場合は、クラッシュ・再起動は防げません。

以上。参考まで

編集 削除
ぴろ  2013-02-02 23:32:22  No: 148076  IP: [192.*.*.*]

ミッキー様
アドバイスありがとうございます。

オショウ様
ご無沙汰しております。

検索&実験してみましたが
「デバッグの停止」  =  強制終了の様で
ソフト上で検出は出来ない感じです。

今まで使っていたボードは、「デバッグの終了」
でも問題なかったのですが、別の機種に代えたら・・・。

停止ボタンを押さないように気をつけてDebugします。


ありがとうございました。

編集 削除