ライブラリ関数呼び出しノードを使用してVisual Basicで作成されたDLLを呼ぼうとすると、うまく機能しないのはなぜでしょうか?



使用ソフトウェア:
使用ソフトウェア・バージョン: N/A
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: N/A

問題:
Visual Basicを使用しDLLを作成しました。Visual Basicでは作成されたDLLファイルを呼び出すことはできるのですが、LabVIEWではうまく呼び出すことができません。

解決策:
Visual BasicではActiveX DLLのみを生成するため、ライブラリ関数呼び出しノードを使ったActiveX DLLの呼び出しはできなくなっております。

LabVIEWを使用しVBで作成されたDLLを呼び出すには、まずVisual Basic DLLをOLEオブジェクト(下記のリンクを参照)として登録し、次に、オートメーションrefnumコントロールを使用してLabVIEW中のActiveXインターフェースでOLEオブジェクトを呼ぶ必要があります。

手順は以下のとおりです。

  1. オートメーションrefnumを作成するには、フロントパネルの制御器>Refnum>オートメーションRefnumから選択をします。
  2. オートメーションrefnumコントロールにActiveX DLLを付けるために、オートメーションrefnumコントロールで右クリックし、ActiveXクラスを選択→参照を選びます。
  3. 新しく登録されたActiveXのオブジェクト(Visual BasicのDLLはregsvr32.exeに適用されます)を選択します。
上記の手順を行うことにより、作成されたDLLのすべてのプロパティやメソッドにアクセスすることができます。なお、下記のリンク先からサンプルプログラム、および詳細を参照することができます。

関連リンク:
Developer Zone Example: Using a Visual Basic ActiveX DLL in LabVIEW

KnowledgeBase 1HBAMMSR: How Do I Manually Register Type Libraries, ActiveX Controls, and ActiveX Servers?

添付:





報告日時: 07/25/2002
最終更新日: 12/20/2007
ドキュメントID: 2NODK46W