以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  [求助]vba工程移植到另一台电脑,dll调用出错,报无效的过程调用或参数  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=175374)

--  作者:thsimong
--  发布时间:2020/4/5 22:28:25
--  [求助]vba工程移植到另一台电脑,dll调用出错,报无效的过程调用或参数
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,无奈磁盘空间不够。。。

--  作者:无为剑
--  发布时间:2020/4/5 23:47:54
--  
具体在什么位置报错的?
--  作者:thsimong
--  发布时间:2020/4/6 10:38:49
--  
在加载的时候,即以下第二行位置
Set MyAddin = CreateObject("DynamicWrapper")
      MyAddin.Register"shunshi.DLL","test","i=ttd","f=s","r=t"   

--  作者:无为剑
--  发布时间:2020/4/6 13:28:18
--  
参考这里 http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=175286
问题基本都是这2个原因导致的

--  作者:thsimong
--  发布时间:2020/4/6 13:52:01
--  
不是版本位数的问题。至于你说的依赖其他库,有可能的话就是需要安装visual studio。问题我也安装了vs10了啊。唯一的差别是我之前是用vs15编译的dll,后来这台电脑上装的是vs10,且系统是win7的。不知道这两点是否会有什么影响。
--  作者:马良
--  发布时间:2020/4/6 15:56:52
--  
就是可能缺少运行库导致的,比如你的这个dll是vs2015编译的,那么你就必须下载vs2015的运行库安装才行的
--  作者:thsimong
--  发布时间:2020/4/6 20:23:55
--  
确实如此。已解决,谢谢~
--  作者:thsimong
--  发布时间:2020/4/6 20:25:52
--  
升级了操作系统,卸载了vs10,安装vs15,可以了。是vs版本的问题。