vba工程移植到另一台电脑,dll调用出错,报无效的过程调用或参数。怎么回事?该工程在原来的电脑(win10系统)运行了半年多,升级到5.21版本(32位)也用了半个多月,dll调用一直没问题。眼下需要增加一台电脑(win7系统),也在c盘安装的5.21版本(32位)金字塔,导入原来的VBA工程,把dll文件放置安装根目录,后在register.bat中增加了对应dll进行注册,给comdll设置了win7兼容,安装正版office,安装vusual studio 2010,依然报无效的过程调用或参数。测试系统内部的kernel32.dll并不报错。问题到底在哪里呢?还要哪一步设置没有到位吗?感觉能找到的差别就在于系统了,想升级到win10,无奈磁盘空间不够。。。
在加载的时候,即以下第二行位置
Set MyAddin = CreateObject("DynamicWrapper")
MyAddin.Register"shunshi.DLL","test","i=ttd","f=s","r=t"
参考这里 http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=175286
问题基本都是这2个原因导致的
不是版本位数的问题。至于你说的依赖其他库,有可能的话就是需要安装visual studio。问题我也安装了vs10了啊。唯一的差别是我之前是用vs15编译的dll,后来这台电脑上装的是vs10,且系统是win7的。不知道这两点是否会有什么影响。
就是可能缺少运行库导致的,比如你的这个dll是vs2015编译的,那么你就必须下载vs2015的运行库安装才行的
升级了操作系统,卸载了vs10,安装vs15,可以了。是vs版本的问题。