各位大侠好:
有一个DLL需要调用,但是其中一个参数为结构体,里面有一个一维数组,比较大,想问一下,怎么做才能简单设置这个参数?
调用界面
lpDeviceInfo参数写成簇,里面有个48个元素的数组sSerialNumber,得一个个添加
请问有没有什么简单点的方法,操作。因为还有些函数里面的参数含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;
那个我尝试了,簇使用控件和常量,单独情况下输出簇都是正常的
输出簇
但是连接上DLL函数,则LV主程序显示出错,如下图显示
C的结构体
中 sSerialNumber[SERIALNO_LEN];设置成数组的话就有问题了
你一个一个甜数字正常吗,要是正常的话。那就是我错了。
这个就是正常的,是不是和dll调用中参数sSerialNumber[SERIALNO_LEN];有关系?
目前应该没有更好的办法 因为簇与结构体涉及到了字节对齐的问题
有一个思路
1. 将dll用文本编程语言重新进行封装成为LABVIEW好调用的格式
一周热门 更多>