如何在LabVIEW 2012中从C#.DLL获取返回值?

时间:2013-06-21 16:40:53

标签: c# dll labview

我目前正在将Visual Studio 2010中的C#中的.DLL库文件导出到LabVIEW 2012.该类执行从RGB到HSL值的颜色转换,并且我已成功实现了Constructor和Invoke节点用于调用.DLL文件的LabVIEW项目。

到目前为止,我可以将RGB值的数字输入到Invoke节点,但是我无法获得HSL输出值;该选项不会出现在节点的下拉框中。

我对C#(以及一般的编程)比较新鲜,我想我已经发现输入函数在.DLL中的位置了,但是对于输出函数我不知道如何生成它,很多而不是LabVIEW可以干净地导出它。我想如果我可以输入值,我也应该能够获得那些HSL输出。

以下是相关的C#代码段。该类的其余部分是变换本身的公式,所以我认为它不太相关。

public class QuickColorTransform
{
    byte _R;
    byte _G;
    byte _B;

    byte _H;

    public byte H
    {
        get { return _H; }
        set { _H = value; }
    }
    byte _S;

    public byte S
    {
        get { return _S; }
        set { _S = value; }
    }
    byte _L;

    public byte L
    {
        get { return _L; }
        set { _L = value; }
    }

    public QuickColorTransform()
    {
        SetupLookups();
    }

    public void SetColor(byte Red, byte Green, byte Blue)
    {
        _R = Red;
        _G = Green;
        _B = Blue;
        Transform();
    }

    public void SetColor(Color ColorIn)
    {
        _R = ColorIn.R;
        _G = ColorIn.G;
        _B = ColorIn.B;
        Transform();
    }
}

提前致谢!

1 个答案:

答案 0 :(得分:0)

您已创建公共HSL getter,LabVIEW知道如何访问它。只需在VI中使用属性节点,并在调用SetColor()后将其链接到对象引用,H S和L将位于属性节点的选择列表中。