在labview中调用DLL,部分函数出现以下问题,该怎么解决,不太懂上面说的意思

无法创建以下VI。表明相关函数可能包含某些参数,这些参数的数据类型无法直接转换。如要解决此问题,可创建一个自定义控件或自定义类型控件,用来表示复杂结构或多维数组,然后再次... 无法创建以下VI。表明相关函数可能包含某些参数,这些参数的数据类型无法直接转换。如要解决此问题,可创建一个自定义控件或自定义类型控件,用来表示复杂结构或多维数组,然后再次运行导入共享库向导,并从共享库中选择更新VI。使用相同的共享库,重新执行向导各步骤。在配置VI和控件页上为相关参数分配自定义控件或自定义类型。复杂结构包括组合结构、包含数组、字符串数组和多维数组的结构。 展开
 我来答
吓栋栋
2014-07-31 · TA获得超过2832个赞
知道小有建树答主
回答量:386
采纳率:100%
帮助的人:195万
展开全部

这是因为labview只支持c语言的数据类型,自己定义的数据类型(如u8,u16等)需要预处理定义。

在预处理定义处添加如下代码试试:

ULONG = unsigned long;VOID = void;LONG = long;UCHAR = unsigned char;PUCHAR = unsigned char*;PULONG = unsigned long*;WINAPI;BOOL = bool;USHORT = unsigned short;PUSHORT = unsigned short*;CHAR = char;

另外你再观察一下你的函数中有没有其他的数据类型,也必须对其进行相应的预处理定义。

追问
您好,这段语句我有加上,应该是我的数据类型里面有复杂结构或多维数组,原谅我是菜鸟,我不知道怎么处理复杂结构或多维数组,有没有关于复杂结构或多维数组的语句或者是处理方式,谢谢你了。
追答
我的这个例程添加完网上的那些定义之后,一开始也是有几个函数无法转换。后来我看了一下我dll对应的头文件。看看哪个函数有问题,发现有些数据类型没有定义,我自己又添加了几个定义。应该不是复制结构体的问题,结构体自动转换为labview中的簇。你还是看一下你不能转换的函数里有没有可能不识别的数据类型,你定义一下看看。

另外,我也是新手。也是前两天做一个dll文件的调用才看这一块的。我遇到的问题就是这样,其他复制问题我还没遇到过。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式