我用vb写个ActiveX Dll,里面调用了外部标准的Dll,出错

fkj122582 2007-10-29 09:30:43
我写了个ActiveX Dll(ReadIC.dll),里面用到一个标准DLL(Fci.dll)的函数
现在我写了一个标准应用程序(test.vbp),去测试ReadIC.dll
出错“无法找到文件‘Fci’”

部分代码:
test.vbp中的代码
Dim apps As ReadICDLL.ReadICC
Set apps = CreateObject("ReadICDLL.ReadICC") ‘ReadICDLL.ReadICC就是ReadIC.dll
str = apps.ReadIC_Info(1) ‘ReadIC_Info是ReadIC.dll的函数


ReadIC.dll中代码
g_nErr = fci_CardReady(PortNum, g_strResult) ’fci_CardReady是Fci.dll的函数

现在是执行ReadIC_Info(1)出错 错误提示:“无法找到文件‘Fci’”
怎样解决 dll的嵌套调用
...全文
74 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fkj122582 2007-10-29
  • 打赏
  • 举报
回复
vb可以调用了
只是现在 我要在javascript中调用vb的Internet打包方式的CAB,使用ReadIC.dll的函数时,又出现找不到fci.dll,请高手再解答一下
fkj122582 2007-10-29
  • 打赏
  • 举报
回复
现在问题是 用reqsvr32注册失败,提示“找不到指定的模块”
fkj122582 2007-10-29
  • 打赏
  • 举报
回复
我试试
东方之珠 2007-10-29
  • 打赏
  • 举报
回复
如果是标准的,我还是建议将其拷贝到c:\windows\system32,注册后再用!
手工注册:regsvr32 c:\windows\system32\Fci.dll
fkj122582 2007-10-29
  • 打赏
  • 举报
回复
Fci.dll不能在VB工程中引用,只能用Declare引用
fkj122582 2007-10-29
  • 打赏
  • 举报
回复
我另外写了一个测试程序,专门测试Fci.dll,成功
fkj122582 2007-10-29
  • 打赏
  • 举报
回复
各位高手,要是不够分,可以再加
  • 打赏
  • 举报
回复
检查一下ReadIC.dll中调用Fci.dll的语句有没有问题,是不是Declare中的路径写错了。
东方之珠 2007-10-29
  • 打赏
  • 举报
回复
Fci.dll是用什么语言编写的?是C++,还是VB?如果是VB,那可不行啊,VB编写的是COM组件,不能这样用,只能在VB工程中引用。
如果是C++编写的标准的DLL,将其拷贝到c:\windows\system32下面再试一下!

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧