フォームを閉じるとシリアル通信が暴走するのを止めるには?


Mrアンダーソン  2004-03-23 20:10:09  No: 112488  IP: [192.*.*.*]

マニアックな質問なんですが、
MSCommを使用していて(ポートをOpenにして)、ウィンドウを閉じると、
シリアルの送信がLOWレベルに立ち下がり続けてしまいます。
(シリアル監視のツールでモニタすると)

ちなみに、普段のコマンドの送受信は問題なくできています。

ウィンドウを閉じる際、何か処理が必要でしょうか?
よろしくお願いします。
(当方、VB6.0でOSは2000です。)

編集 削除
岡田 之仁  2004-03-23 20:48:19  No: 112489  IP: [192.*.*.*]

それは無茶なことをされていますネ!

MSComm.OCXを貼ったフォームを閉じる場合は、
    MSComm1.DTREnable = False
    MSComm1.RTSEnable = False
    MSComm1.PortOpen = False
として、使わなくなった後始末をちゃんとして下さい。

以上。

編集 削除
Mrアンダーソン  2004-03-24 08:40:53  No: 112490  IP: [192.*.*.*]

えーっと、その処理を実行すると暴走してしまうんです…

ちなみに、デスクトップPCのシリアルポートからですと暴走するんですが、USBとシリアルを変換するコネクタを使用したノートPCだと暴走しません。
ハードの問題なので、ここで聞くのは間違ってるんでしょうか…?

編集 削除
Mrアンダーソン  2004-03-24 15:51:10  No: 112491  IP: [192.*.*.*]

ほかのシリアルポートの付いたデスクトップPCだと、
暴走しないようなので、PCによる問題っぽいですね…
場所違いな質問、すみませんでした。

編集 削除
岡田 之仁  2004-03-24 16:21:17  No: 112492  IP: [192.*.*.*]

同一のプログラムが、ある特定のパソコンでおかしな動きをする
のであれば、ハード的問題でしょう。

正常な処理をして、暴走するのですから・・・
プログラム的には対処のしようがありませんネ!

以上。

編集 削除