|
分類:[C#]
2019/11/02(Sat) 10:45:56 編集(投稿者)
ビルドしてexeファイルを初めて作りました。 しかし、開発環境とは別のパソコンで実行するとフォーム自体は起動するのですが外部機器と通信をすると「No valid COM I/O resource available, set the IO property to a valid COM I/O resource.」とメッセージが発生します。通信以外の機能は使えています。 素人考えですが恐らくリソースが利用できないためにWriteStringメソッドが使えず、コマンドが遅れないのだと思っています。 実行ファイルはDebagフォルダではなくReleaseフォルダ内のexeです。 後から追加したライブラリを使用する場合にはビルドする時にソリューションのプロパティか何かで設定が必要なのでしょうか? それともコード内に何か記述が必要なのでしょうか? 開発環境では普通に動作しておりました。
開発環境: Windows10 64bit Visual Studio Express 2017
実行OS: Windows7 32bit
外部機器用のライブラリ VISA COM
public partial class Form1 : Form { public Form1() { InitializeComponent(); } ResourceManager rm = new ResourceManager(); // VISA COM リソースマネージャ FormattedIO488 inst = new FormattedIO488(); // VISA COM フォーマッテッドIO
// ********************* // 測定機器に接続 // ********************* private void BtnID_Click(object sender, EventArgs e) { try { // 通信開始 inst.IO = rm.Open(VISAアドレス) as IMessage; } catch (Exception ex) { MessageBox.Show(ex.Message); }
try { // 測定器のID確認 inst.WriteString("*IDN?"); // IDクエリ String str = inst.ReadString(); // コマンド受信 MessageBox.Show(str); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
それとビルド後から 1.開発環境でデバッグを開始するとプロンプトが立ち上がるようになりました。 これはこういうものなのですか?コマンドラインで何か走ってるわけでもないので気になります。 2.デバッグを開始するたびに「マイコードのみをなんちゃらかんちゃら」とメッセージが表示されるようになりました。
ここら辺も何か関係しているのでしょうか?こちらは別の問題と考えればいいのでしょうか? よろしくお願いします。
|