プロが教える店舗&オフィスのセキュリティ対策術

W2k+VB6にて開発しております。
シリアル通信におけるCOMポート制御についての質問なのですが、
ポートをOPENしようとすると「ポートは既に開かれています」というエラーが出てしまいます。
--------------------------------------
if me.comm1.portopen = False then
me.comm1.portopen = True
end if
--------------------------------------
としているにもかかわらずOPENできません。
このような場合どういった要因が考えられるのでしょうか?
よろしくお願いします。

A 回答 (3件)

No.1の方の補足です。


mk_jmcさんが書かれたようにプログラムを書いても、
別のアプリが同じ番号のCOMを使用しているときは、
VBはそのようなエラーメッセージを返します。
これは経験があります。

これは想像ですが、上記のようにプログラムを書いた場合、
VBは自分のプログラムがopenしたCOMポートはチェックできても、
他のアプリがopenしたCOMポートまではわからないのではないでしょうか。
もしそれをチェックしようとすると、APIを使うか(やり方までは不明)、
エラー処理で行うかということになります(On Error GoTo文)。

どのアプリがCOMを開いているかは、PC環境によるのでわかりません。
モデムもしくは何らかの常駐ソフトか...
今時シリアルマウスということはないでしょうね。
    • good
    • 0

若干参考になると思うサイトです。



参考URL:http://isweb8.infoseek.co.jp/school/speana_1/vb/ …
    • good
    • 0

別のアプリがCOMを使っているとか・・・

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!