DLL调用其参数为结构体,是否有简化的方法

2019-07-17 22:11发布

各位大侠好:
有一个DLL需要调用,但是其中一个参数为结构体,里面有一个一维数组,比较大,想问一下,怎么做才能简单设置这个参数?
调用界面
2016-08-26_144603.jpg
lpDeviceInfo参数写成簇,里面有个48个元素的数组sSerialNumber,得一个个添加
2016-08-26_144700.jpg
请问有没有什么简单点的方法,操作。因为还有些函数里面的参数含254个元素的,那岂不是死翘翘了?
附:C的结构体
struct{  BYTE     sSerialNumber[SERIALNO_LEN];  BYTE     byAlARMInPortNum;  BYTE     byAlarmOutPortNum;  BYTE     byDiskNum;  BYTE     byDVRType;  BYTE     byChanNum;  BYTE     byStartChan;  BYTE     byAudioChanNum;........}NET_DVR_DEVICEIF,*LPNET_DVR_DEVICEIF;



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
ken0137
2019-07-18 04:15
ShuiMoLise 发表于 2016-8-27 08:29
LabVIEW簇里面的数组不用一个一个手工填数字,你用for循环创建一个数组然后把值传给簇里面的数组应该也是可以的(这里簇要用控件,不能用常量)。

那个我尝试了,簇使用控件和常量,单独情况下输出簇都是正常的
2016-08-28_091029.jpg 2016-08-28_091054.jpg
输出簇
2016-08-28_091128.jpg
但是连接上DLL函数,则LV主程序显示出错,如下图显示
2016-08-28_091637.jpg
2016-08-28_091555.jpg
C的结构体
中 sSerialNumber[SERIALNO_LEN];设置成数组的话就有问题了

一周热门 更多>