在VB或者VBA环境中能用的 DLL,LabVIEW 下使用 Call Library Function 调用的时候还是有问题。



主要软件:
主要软件版本: 7.1
主要软件修正版本: N/A
次要软件: N/A

问题: 为什么有的DLL的函数在VB,VBA或者其他的环境可以工作,但是在LabVIEW中却报告有异常?是否如对话框提示的那样内存真的出错?

解答: 问题的原因可能在于Visual Basic调用函数的方法。试一试那些通过引用而不是通过值作传递的函数。在些尤其是在参数列表里有整数和浮点数的情况下发生。对于那些有字符串或者数组参数的函数就有可以像传递指针一样出错。这也是为什么那些不需要参数的函数并不会出错的原因。返回值并不会因为这个而受到影响。

对于内存出错的问题,他取决于您传递的以及操作系统使用的整数值。对于Windows95/98/ME来说,由于他们没有内存保护。他有可能会导致您的计算机重启。对于基于NI(NT4,2000,XP)的操作系统,如果整数的值比较小,(比如:小于0x8000000),原因有可能是因为指针指向OS的内存空间操作,这是不允许用户操作的。

相关链接:

附件:





报告日期: 07/31/2006
最近更新: 07/31/2006
文档编号: 3BF9CUGS