Visual C++で.NETアセンブリをプログラミングしてLabVIEWから呼び出せますか?



ハードウェア: PXI/CompactPCI>>Controllers

問題:
Visual C++で.NETアセンブリをプログラミングしてLabVIEWから呼び出せますか?

解決策:
可能です。ここでは、Microsoft Visual C++ .NET 2003を用いた例を示します。

.NET アセンブリを作成する
Calcクラスに加算をするAddメソッドを作成s。

  1. Microsoft Visual C++ を起動します。
  2. 新しいプロジェクトを作成します。
  3. プロジェクトの種類でVisual C++ プロジェクト » .NET » クラスライブラリを選択し、適当なプロジェクト名「hoge」を付けてOKをクリックします。
  4. 名前空間hoge以下のClass1に、Addメソッドを追加します。
    // hoge.h
    #pragma once
    using namespace System;
    namespace hoge
    {
    public __gc class Class1
    {
    public:
    int Add(int a, int b);
    };
    }

    #include "stdafx.h"
    #include "hoge.h"
    int hoge::Class1::Add(int a, int b)
    {
    return a + b;
    }
  5. メニューバーのビルド »  ソリューションのビルドを選択し、ビルドします。

LabVIEW から .NET アセンブリを呼び出す

  1. hoge.dllが入っているフォルダに新規VIを作成します。
  2. ブロックダイアグラムに通信 » .NET » コンストラクタノードを配置します。
  3. .NET Constructorを選択ダイアログで、参照ボタンをクリックし、hoge.dllを選択します。
  4. オブジェクトにhoge » Class1を選択し、コンストラクタにClass1()を選択し、OKをクリックします。

  5. ブロックダイアグラムに、通信 » .NET » インボークノードを配置します。
  6. インボークノードのメソッドにAddを選択し、パラメータを入出力端子を配線します。
  7. ブロックダイアグラムに、通信 » .NET » リファレンスを閉じるを配置し、配線します。
    インボークノード

注意
.NET アセンブリのファイル名にはDLL拡張子 がついていますが、これはダイナミックリンクライブラリではありません。LabVIEW 7.x は .NET Framework 1.1のアセンブリをサポートしています。



関連リンク:

添付:





報告日時: 05/30/2005
最終更新日: 03/02/2009
ドキュメントID: 3LTAH90T