Windows 10上的VsFlex7(vb6)

时间:2018-01-17 01:16:47

标签: vb6 controls windows-10 vsflexgrid

我试图在我的Windows 10计算机上编辑其他开发人员的一些旧源代码。这个特殊的项目需要使用VsFlex7控件(vsflex7L.ocx和vsflex7L.oca),它需要在Windows中注册才能在vb6中使用该控件。

当我尝试在vb6中使用它时,我收到以下错误... enter image description here

然后我检查vb6项目文件源并看到这显示我首先遇到问题的控件(VSFlexGrid)的CLSID为Object={C0A63B80-4B21-11D3-BD95-D426EF2C7949}#1.0#0; vsflex7l.ocx ... enter image description here

我也检查了表单源代码,看看同样的事情...... enter image description here

然后我在注册表中挖掘并发现这个...... enter image description here

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

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

问题是,当我尝试C:\Windows\SysWOW64>regsvr32 Vsflex7L.oca /u时,regsvr32会以光速运行大约一百万次并使我的电脑陷入困境,直至我必须按电源按钮重新启动电脑。运行命令后尝试取消注册oca我的机器没用。我甚至无法在任务管理器中杀死任务,因为一次又一次地运行了这么多副本!!

我有什么想法可以让这个控件注册,所以我可以修复我的源码中的这个小小的bug?

谢谢!

更新

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

1 个答案:

答案 0 :(得分:1)

好的,多亏了我的问题中的所有评论,我最终得到了正确的解决方案!所以你们所有的贡献,特别是MarkL!

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

  • Vsppg7.dll
  • vsStr7.ocx

然后我去了virustotal网站并上传两个进行检查,以确保它们干净利落,并且没有任何病毒。

接下来,我最终将它们扔进我的C:\Windows\SysWow64文件夹(因为它们都是OLD 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,让我可以改变一切!

希望这有助于其他人,即使这一切都很古老!