毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

visa32.dll没发现设备 nmatches=0

更新时间:2013-1-14:  来源:毕业论文

visa32.dll没发现设备 nmatches=0
在VB中声明以下函数
Declare Function viOpenDefaultRM Lib "VISA32.DLL" Alias "#141" (sesn As Long) As Long
Declare Function viFindRsrc Lib "VISA32.DLL" Alias "#129" (ByVal sesn As Long, ByVal expr As String, vi As Long, retCount As Long, ByVal desc As String) As Long
调用时  Call viOpenDefaultRM(defrm)
   Call viFindRsrc(defrm, "USB?*", list, nmatches, matches)
能发现设备 nmatches=1
而用delphi做以下声明
function viOpenDefaultRM(var sesn: integer): Integer; stdcall;external 'visa32.dll' ;
function viFindRsrc(sesn: integer; expr: string; vi: integer; var retCount: integer; var desc: string): integer; stdcall; external 'visa32.dll';
调用时
  viopendefaultrm(rm);
  viFindRsrc(rm,'usb?*',list,nmatches, matches);
没发现设备 nmatches=0

function viOpenDefaultRM(var sesn: integer): Integer; stdcall;external 'visa32.dll' ;
function viFindRsrc(sesn: integer; expr: PChar; vi: integer; var retCount: integer; desc: PChar): integer; stdcall; external 'visa32.dll';
调用时
  s := 'usb?*';
  viopendefaultrm(rm);
  viFindRsrc(rm,PChar(s),list,nmatches, PChar(matches));

提示新错误" access violation at address 631473A2 in module 'visa32.dll'.write of address 004280B4" 请指点。这是什么意思

matches定义为Array[0..254] of Char;试下

#2那个读错误,我个人认为是string处出错,因为VB的string是UNICODE,而低版本DELPHI是ANSI

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。