VB 6.0 DLL 在 Win10 系统注册成功后无法使用问题

Oceanable 2020-08-20 12:46:42

VB 6.0 编制的 ActiveX DLL,同样是 win 10 系统,有些电脑上安装使用正常
有些电脑上则能够安装成功(见图片),但是调用 DLL 的时候却提示 【未注册类 ....】
已经使用了管理员身份进行安装及注册了的,,,



是什么问题呢 ??????


...全文
1294 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ykf 2021-08-26
  • 打赏
  • 举报
回复

我遇到相似的问题了,您的问题怎么解决的望指教。
1.EXCEL 调用vb6 编辑的DLL 文件,在一台win10机器上可用(本机安装了vb6),将dll拷贝至了syswow64下,用管理员运行cmd注册成功,EXCEL调用dll 正常运行。

2.但在另一台win10机器上不可用(此机未安装vb6,也尝试安装了vb6的运行库,此机有EXCEL宏编辑功能)

3.做过的尝试:用过以下方法c:\windows\system32>regsvr32 vbadllk.dll与c:\windows\syswow64>regsvr32 vbadllk.dll两种管理员权限下注册方式,均在显示成功注册后,EXCEL不能调用;使用过regsvr32 ”路径.dll"的方式,也同样不能调用,在第二台机器上总是提示注册成功,但运行EXCEL调用时报“没有注册类”,请高手指点,万分感谢!

Oceanable 2020-08-24
  • 打赏
  • 举报
回复
十分感谢各位,问题已经解决:
组件已经注册成功,只是因为程序是64位的所以无法调用32位dll,
将dll封装在 ActiveX EXE 里面就可以调用了。
qq_33333192 2021-07-01
  • 举报
回复 1
@Oceanable 大佬我也遇到了同样的问题。。请问一下如何将dll封装在 ActiveX EXE 里面..感激不尽
Oceanable 2020-08-22
  • 打赏
  • 举报
回复
刚才用 命令行试了下,还是不行: 1、打开开始菜单,输入cmd,在搜索出的 CMD 上右键,选择以管理员身份运行 2、在打开的命令提示符里输入:cd c:\windows\syswow64 将目录设置到syswow64这个文件夹 3、输入:regsvr32 XXXX.dll 输入后按回车,有注册成功的提示 -------- ( 我就不明白了,既然没有注册成功,就别提示了嘛 )
三楼の郎 2020-08-22
  • 打赏
  • 举报
回复
引用 7 楼 Oceanable 的回复:
[quote=引用 4 楼 三楼一郎 的回复:]dll文件拷贝到哪不重要,重要的是你要执行C:\Windows\SysWOW64目录下的regsvr32,用管理员身份
下面是我用 Delphi 7 写的 DLL 注册程序语句 : CopyName:= '\XXXX+'.dll'; ShellExecute( Application.Handle, '', Pchar('regsvr32.exe'), Pchar(oPath + CopyName),'',SW_SHOW ); 我只要将红色字改为完整的路径(C:\Windows\SysWOW64\regsvr32.exe)应该就可以了吧? [/quote] 试试呗,严谨一点应该用%systemroot%替代c:\windows\
Oceanable 2020-08-22
  • 打赏
  • 举报
回复
引用 4 楼 三楼一郎 的回复:
dll文件拷贝到哪不重要,重要的是你要执行C:\Windows\SysWOW64目录下的regsvr32,用管理员身份
下面是我用 Delphi 7 写的 DLL 注册程序语句 : CopyName:= '\XXXX+'.dll'; ShellExecute( Application.Handle, '', Pchar('regsvr32.exe'), Pchar(oPath + CopyName),'',SW_SHOW ); 我只要将红色字改为完整的路径(C:\Windows\SysWOW64\regsvr32.exe)应该就可以了吧?
Oceanable 2020-08-22
  • 打赏
  • 举报
回复
我也考虑过这个问题,我现在是在 64 位的 Office( 例如 Word,Excel )中的 VBA 调用 VB6 编译的 DLL --- 那是不是就算注册成功也调用不了 ?
Oceanable 2020-08-22
  • 打赏
  • 举报
回复
引用 5 楼 贵阳老马马善福专业维修游泳池堵漏防水工程 的回复:
64位程序不能调用vb写的dll
刚才我在 Office 2016 64位 程序中,用 VBA 写了下面的语句 --- 也提示 Script 组件未注册 Dim ScCompiler As Object Set ScCompiler = New MSScriptControl.ScriptControl ScCompiler.Language = "JavaScript"
三楼の郎 2020-08-21
  • 打赏
  • 举报
回复
dll文件拷贝到哪不重要,重要的是你要执行C:\Windows\SysWOW64目录下的regsvr32,用管理员身份
threenewbee 2020-08-21
  • 打赏
  • 举报
回复
64位程序不能调用vb写的dll
Oceanable 2020-08-20
  • 打赏
  • 举报
回复
我将 DLL 文件拷贝到 C:\Windows\SysWOW64 目录下,然后 在命令行中输入 regsvr32 C:\Windows\SysWOW64\XXX.dll 同样提示注册成功了,还是不行 .... 备 注:运行命令行的时候,也是管理员身份的,,,
Oceanable 2020-08-20
  • 打赏
  • 举报
回复
原来如此,我今晚马上试试 看到希望了,,,
ZHRXJR 2020-08-20
  • 打赏
  • 举报
回复
好像是注册路径不对,一般注册应该在 C:\Windows\System32 目录中,这时64位程序 如果是32位程序,应该注册在 C:\Windows\SysWOW64 目录中 既然是VB6.0编译的,应该是32位的,因此应该注册在 C:\Windows\SysWOW64 目录中 系统注册应该是系统设置问题,有些系统是按系统要求注册的,而有些系统是以文件所在目录注册的 你所说的问题就是各电脑系统设置不同引起的 拷贝文件到 C:\Windows\SysWOW64 目录,然后再注册就应该解决了。

7,763

社区成员

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

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