4

我正在尝试在我的 Windows 10 机器上编辑来自其他开发人员的一些旧源代码。这个特定的项目需要使用 VsFlex7 控件(vsflex7L.ocx 和 vsflex7L.oca),在我可以在 vb6 中使用控件之前,需要在 Windows 中注册它。

当我尝试在 vb6 中使用它时,出现以下错误... 在此处输入图像描述

所以然后我检查了 vb6 项目文件源并看到了这个,它显示了我首先遇到问题的控件(VSFlexGrid)的 CLSID 为Object={C0A63B80-4B21-11D3-BD95-D426EF2C7949}#1.0#0; vsflex7l.ocx... 在此处输入图像描述

我还检查了表单源以查看相同的内容... 在此处输入图像描述

然后我在注册表中挖掘并找到这个...... 在此处输入图像描述

所以然后我尝试运行命令提示符(以管理员身份)并执行以下操作...

C:\Windows\SysWOW64>regsvr32 Vsflex7L.oca /u
C:\Windows\SysWOW64>regsvr32 Vsflex7L.oca

问题是,当我尝试执行C:\Windows\SysWOW64>regsvr32 Vsflex7L.oca /uregsvr32 以光速运行大约一百万次时,我的电脑陷入困境,以至于我不得不按下电源按钮重新启动电脑。运行命令尝试注销 oca 后,我的机器没用了。我什至懒得在任务管理器中杀死任务,因为一次又一次地运行了这么多副本!

我可以做些什么来注册这个控件,以便我可以修复我拥有的源代码中的这个小错误?

谢谢!

更新:

感谢对我最初问题的评论,我现在注意到我很可能应该尝试2C4CDB4E-6162-11D3-BD96-B76E8682527F在注册表中追踪 CLSID。但是,我找不到这个...我应该添加它吗?如果是这样,它应该指向什么 dll 或 ocx?

4

1 回答 1

2

好的,感谢我问题中的所有评论,我最终得到了正确的解决方案!以便您为所有贡献者做出贡献,特别是 MarkL!

追踪以下两个 dll 是第一步,重要的是要注意您需要正确的版本!我最终下载了一个中文版本,它以不同的语言显示了我所有的控件。我最终发现这些是从网络上对我指出的那个 CLSID 的一些研究中发现的。在这种情况下,它都与 VideoSoft 的 VSFlexGrid 控件有关。

  • Vsppg7.dll
  • vsStr7.ocx

然后我访问了virustotal 网站并上传了两者以进行检查,以确保它们非常干净并且不包含任何病毒。

接下来我最终将它们扔到我的C:\Windows\SysWow64文件夹中(因为它们都是旧的 x86 相关文件)。

最后我最终运行了四个命令......

  • C:\Windows\SysWOW64>regsvr32 Vsppg7.dll /u
  • C:\Windows\SysWOW64>regsvr32 Vsppg7.dll
  • C:\Windows\SysWOW64>regsvr32 vsStr7.ocx /u
  • C:\Windows\SysWOW64>regsvr32 vsStr7.ocx

一旦我这样做了,我打开了 VB6 和有问题的项目,然后单击控件并尝试单击FormatString属性。这一次,我看到的不是错误,而是一个很好的 GUI,它允许我改变一些东西!

希望这对其他人有所帮助,即使这一切都是古老的!

于 2018-01-17T16:15:01.593 回答