使用LabVIEW的CLF调用dll中的函数是一个问题
本帖最后由 26748528 于 2009-3-13 12:28 编辑我想通过CLF节点调用dll中的函数,并且要在LabVIEW中接收函数的返回值和函数的参数,这是前提!!!!
我是这样实现的:
前面板:见下图
背面板:见下图
Dll中的函数(省略后只写主要的):
char * fun(char * ch)
{
char a=”abcd”;
strcpy(ch,a);
char b;
sprintf(b,"1234");
return b;
}
但是在运行程序的时候一直弹出错误对话框,“0x122615e 指令引用的“0x00001953”内存,该内存不能为“read” 。
到底是哪个地方的原因?
是不是strcpy(ch,a);的时候出的问题?ch没有分配空间?
还是说被面板的CLF节点的输入处写的不正确。
除了前面说的前提(要在LabVIEW中接收函数的返回值和函数的参数)不能改变以外,其余的地方如果有错误请帮忙看一下,谢谢!谢谢! 是不是我没有表述清楚。。。。
会的帮帮忙啊
再次感谢,谢谢 像是和CPUBBS原来写的一个类似,没有分配空间。你是空字符串没空间。弄数组尝试下。 LV调用DLL出错解决办法详解之一!
http://www.cpubbs.com/bbs/viewthread.php?tid=15544&fromuid=3757
页:
[1]