26748528 发表于 2009-3-13 12:22:39

使用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中接收函数的返回值和函数的参数)不能改变以外,其余的地方如果有错误请帮忙看一下,谢谢!谢谢!

26748528 发表于 2009-3-14 12:42:59

是不是我没有表述清楚。。。。
会的帮帮忙啊
再次感谢,谢谢

tester 发表于 2009-3-15 10:13:36

像是和CPUBBS原来写的一个类似,没有分配空间。你是空字符串没空间。弄数组尝试下。

tester 发表于 2009-3-15 10:15:04

LV调用DLL出错解决办法详解之一!
http://www.cpubbs.com/bbs/viewthread.php?tid=15544&fromuid=3757
页: [1]
查看完整版本: 使用LabVIEW的CLF调用dll中的函数是一个问题