- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MSCommによるCOMポートの制御)
MSCommによるCOMポートの制御
このQ&Aのポイント
- W2k+VB6にて開発しております。シリアル通信におけるCOMポート制御についての質問なのですが、ポートをOPENしようとすると「ポートは既に開かれています」というエラーが出てしまいます。
- if me.comm1.portopen = False then me.comm1.portopen = True end if としているにもかかわらずOPENできません。このような場合どういった要因が考えられるのでしょうか?
- よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No.1の方の補足です。 mk_jmcさんが書かれたようにプログラムを書いても、 別のアプリが同じ番号のCOMを使用しているときは、 VBはそのようなエラーメッセージを返します。 これは経験があります。 これは想像ですが、上記のようにプログラムを書いた場合、 VBは自分のプログラムがopenしたCOMポートはチェックできても、 他のアプリがopenしたCOMポートまではわからないのではないでしょうか。 もしそれをチェックしようとすると、APIを使うか(やり方までは不明)、 エラー処理で行うかということになります(On Error GoTo文)。 どのアプリがCOMを開いているかは、PC環境によるのでわかりません。 モデムもしくは何らかの常駐ソフトか... 今時シリアルマウスということはないでしょうね。