繁体   English   中英

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

[英]How can I get return values from C# .DLLs in LabVIEW 2012?

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

到目前为止,我可以将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();
    }
}

提前致谢!

您已经创建了公共HSL获取器,并且LabVIEW知道如何访问它。 只需在VI中使用属性节点,然后在调用SetColor()之后将其链接至对象引用,HS和L将位于属性节点的选择列表中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM