Home
Support
ライブラリ関数呼び出しノードを使用してVisual Basicで作成されたDLLを呼ぼうとすると、うまく機能しないのはなぜでしょうか?
ライブラリ関数呼び出しノードを使用して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オブジェクトを呼ぶ必要があります。
手順は以下のとおりです。
- オートメーションrefnumを作成するには、フロントパネルの制御器>Refnum>オートメーションRefnumから選択をします。
- オートメーションrefnumコントロールにActiveX DLLを付けるために、オートメーションrefnumコントロールで右クリックし、ActiveXクラスを選択→参照を選びます。
- 新しく登録されたActiveXのオブジェクト(Visual BasicのDLLはregsvr32.exeに適用されます)を選択します。
上記の手順を行うことにより、作成されたDLLのすべてのプロパティやメソッドにアクセスすることができます。なお、下記のリンク先からサンプルプログラム、および詳細を参照することができます。
関連リンク:
Developer Zone Example: Using a Visual Basic ActiveX DLL in LabVIEWKnowledgeBase 1HBAMMSR: How Do I Manually Register Type Libraries, ActiveX Controls, and ActiveX Servers?
添付:
報告日時: 07/25/2002
最終更新日: 12/20/2007
ドキュメントID: 2NODK46W
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.