NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

GPIB VB.NET 遅延バインディング

解決済み
解決策を見る

VB.Net 2010/2012にてGPIBを使用したアプリケーションを開発しようとしています。

 

制作しているアプリケーションで制御するデバイスが複数のインターフェイス(GPIB/RS232C)を持っているため、状況によってはGPIBのライブラリーがインストールしていない状況でも動作する必要があります。

VB6.0で制作していた時は、GPIB-32.DLLの適当な関数をコールしてエラー処理でGPIBの有り無しを判断できましたが、VB.NET用のサンプルではGPIBライブラリー(National Instruments 488.2)をあらかじめ参照登録

しているため、GPIBライブラリーのインストールされていない環境では実行できません。

そこで、National Instruments 488.2を遅延バインディングできれば問題ないのではと考えております。このような使用方法は可能でしょうか?

 

また、VB6.0の移行をしやすくするために、GPIB-32.DLLを直接コールするようなサンプルはありますか?

 

 

0 件の賞賛
メッセージ1/4
5,466件の閲覧回数

むささ様

 

お時間経っておりますが、本件いかがでしょうか。

お調べいたしましたが、gpib-32.dllを呼び出すサンプルはございませんでした。

 

一般的なdll呼び出しは使えませんでしょうか。

http://g1g0.com/2012/01/543/

 

質問に質問する形となってしまいますが、

遅延バインディングに関しての知識がないのですが、何か良い資料などございますでしょうか。

ご教授ください。

 

以上です。

 

 

0 件の賞賛
メッセージ2/4
5,369件の閲覧回数

woozyshigezo様

回答ありがとうございます。

 

とりあえず、GPIBライブラリー(National Instruments 488.2)を普通に使用してアプリケーションの開発を進めています。


gpib-32.dllを直接呼び出すことに関しては、まだ試していませんが、時間をかければできると思います。
サンプルについて質問したのは、時間の節約もありますが、あまり非公式なやり方をしたくないと考えているからです。
作成したgpib-32.dllを直接呼び出すソフトが今後も互換性が保障されるのであれば、gpib-32.dllを使用したいと考えています。

 

遅延バインディングはMS Excelを使用したアプリを開発する場合によく使われているようです。
事前バインディング と遅延バインディングについて説明されたページです。
http://support.microsoft.com/kb/304661/ja

0 件の賞賛
メッセージ3/4
5,349件の閲覧回数
解決策
トピック作成者むささが受理

かなり時間が空いてしまいましたが、VB.net用のGPIB-32.DLLを使用したサンプルを見つけたので試してみました。

 

VB NET 2003 Simple GPIB using GPIB-32.DLL

http://www.ni.com/example/29525/en/

 

ほぼ問題なく移植できましたが、ibrdi()とibrdia()の関数に関してはうまく動作せず、バイナリイーデータの受け取り時に

問題があり、最終的にはibrdf()関数で一旦ファイルに保存して受け取り解決しました。

 

当初の目的は達成できていませんが、遅延バインディング、GPIB-32.DLLの公式なサポート共に得られそうにないので

これでスレッドを終了します。

0 件の賞賛
メッセージ4/4
4,639件の閲覧回数