NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

LabView2017 调用DLL方法中函有结构体数组时应该如何调用?

有一个DLL希望通过“调用函数库节点”来调用,该DLL里有两个方法:

 

1. Send() : 参数为一个元素类型为Struct的一维数组 和 int;返回值为int;

2019-03-07_10-04-19.png

2019-03-07_10-04-08.png

 

2. Receive():不需要参数,返回值为结构体的指针;其中返回值结构体是一个复合结构体,里面还包含一个结构体。

2019-03-07_10-07-22.png

2019-03-07_10-07-38.png

 

3. 以下对Send()方法进行测试,结果是能够调用,但传入的内容变成了乱码,不确定哪里出了问题,向大家请教。步骤如下:

a) 添加DLL,设置参数如下:

2019-03-07_10-11-29.png

2019-03-07_10-11-42.png

 

b)参数kvs使用以下结构传入:在一个数组控件里,拖入一个簇,簇里放两个字符串输入控件,填充值为 Key=a, Value=1;

   参数size使用一个数值输入控件传入,填充值为1;

   点击运行,能够调用,但是传入的值发现全部变成了乱码,不知道是哪个地方出错了。求大家指导一下,谢谢!

2019-03-07_10-16-34.png

 

因为Send()还没有搞定,所以Receive()还没有测试。

 

刚刚才开始学用LabView, 再一次谢谢各位帮忙~

 

0 项奖励
1 条消息(共 2 条)
1,983 次查看

建议重新包装DLL, 改用简单的数据类型.

LabVIEW 不支持这样复杂的数据类型.

 

George Zou
0 项奖励
2 条消息(共 2 条)
1,958 次查看