LabVIEWwilliam hill官网
直播中

Leozhou

5年用户 7经验值
擅长:电源/新能源 测量仪表
私信 关注
[问答]

Labview调用第三方dll,在打包生成EXE之后提示报错

本人labview小白,做了一个程序来读取UT-5526数字万用表电压值,主程序调用UT5526子VI,UT5526子VI中是调用数字万表厂家提供的Dll动态文件,程序在本机(编写Labview的电脑,已安装Labview2011 开发版),现在将该程序打包生成可执行EXE文件后,在程序编写的电脑可能正常运行,但在其它电脑(电脑已安装Labview Runingtime 及NI-VISA)运行时提示报错,应该是调用Dll报错,Dll文件与主VI在同一个文件夹,打包生成EXE时Dll也加入到Always include项中,并且在电脑运行栏用Regsvr32.exe 注册过了,网上查过说是路径问题,我将Dll也放到C:windowssystem32路径下试过也不行,请各位大拿提供一点意见帮忙解决,谢谢!(Dll是用Connectivity--->ActiveX--->Automation open打开,然后在Select ActiveX class--->Browse选择Dll加载的),该设备提供的dll无法用.Net方式打开。


  • img_20190904_161328.jpg
  • img_20190903_165424.jpg
  • img_20190903_165405.jpg
  • img_20190903_165354.jpg
  • img_20190903_084334.jpg

回帖(4)

周建远

2019-9-5 12:09:18
这个dll应该是专为64位系统生成的,你装在32位的XP系统上肯定不行吧   把要运行该软件的电脑重装为64位系统的再试试
4 举报
  • 周建远: 还有一种可能,一般这种被调用的dll文件都需要ActiveX的支持,而ActiveX对XP系统的支持好像需要一service package的方式来实现,建议把XP系统重装为win7吧,跟你正常运行的电脑一样的位数就可以了 X86或者X64,根据正常跑的电脑来
  • Leozhou 回复 周建远: 你好,但我编写代码的电脑也是windows xp  32位
  • Leozhou 回复 周建远: 刚才在另一台Win7电脑上试过,注册Dll,打包的EXE可以运行,请问您知道你所提到的那个Service package 名称吗?我想下载一个再在Winxp上试试,电脑一直在用,重装系统工程量太大
  • 周建远 回复 Leozhou: 你搜索下xp service package3下载后安装更新试试吧

王志博

2019-9-5 14:28:12
看不出来是什么问题,你应该还没确定到底是什么问题吧
举报

王志博

2019-9-5 16:03:28
再有你生成的EXE在另一台电脑上运行,他怎么知道你原来的DLL路径在哪,我感觉这两个你至少得保持一样吧。
4 举报
  • Leozhou: 我也想设路径,但ActiveX对dll的调用方式,只是在Browse选择栏中选,好像没有哪里可以指定路径
  • 王志博 回复 Leozhou: 那你生成EXE后再其它电脑里使用的ACTIVE X至少得放到同一位置吧,随意放一个位置应该不好用吧,要么你就都用SYSTEM32,我是这么感觉的,你改改看看,最简单的方法你可以试试做一个极简的程序,只用几个ACTIVEX和属性节点,看看报错不
  • Leozhou 回复 王志博: 你好,刚才按楼上所说在另一台Win7电脑上试过,在注册dll之后,程序可能正常运行不报错,但不知道在Winxp如何解决这类问题
  • 王志博 回复 Leozhou: 我这没有XP电脑,没法试你这个问题,你可以试试生成一个安装包,把运行环境装一下试试, 我感觉有可能XP电脑上的环境不全

PCB00007183

2019-9-6 10:26:43
放在data文件夹下试试
1 举报

更多回帖

发帖
×
20
完善资料,
赚取积分