![](/img/trans.png)
[英]How can i debug C++ DLLs SWIGed in external C# app (that can not be started from debugger)
[英]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.