自从我安装卸载几次OFFICE和WPS后,VB6就出现了这样的问题。

自从我安装卸载几次OFFICE和WPS后,VB6就出现了这样的问题。

然后在网上收集各种解决办法:

 

1、第一种:工程文件引用可能有问题,跟本机的相关组件版本不一致。

用记事本打开VBP文件
找到这一行:
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0; MSCOMCTL.OCX
改为:
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX
保存即可

打开我的工程文件,发现本来就是2.0的,这种方法就没有任何用武之地了。

 

2、第二种:MSCOMCTL.OCX文件本身被破坏。

在网上下载或者从一台不存在问题的机器上复制一个MSCOMCTL.OCX替换System32目录下的文件并注册之。发现根本没有作用。

 

3、第三种:跟MSCOMCTL.OCX相关联的库文件被破坏了。

安装VB6的SP6补丁,无效。

安装不同版本的VB6,也是无果。

卸载WPS、OFFICE2007、OFFICE2010等,安装OFFICE2003并打上SP3补丁。无效。

到这里,我快要疯了,难道真的要冲新安装WINDOWS?!于是就不理他了,避免用这个控件组就行了。或者直接用虚拟机开发。心灰意冷了。默默地想了很多办法,自己去写个这个组件相关的控件........

偶然的一天,没事看看各种论坛,翻开一页又一页古老的帖子,忽然发现了一条神回复。

 

4、第四种:注册表项的问题。

注册表的831FDD16-0C5C-11D2-A9FC-0000F8754DA1 主键下有2.0 和2.1两个版本,删除2.1版本这项。

真的可以!

posted @ 2015-11-22 16:34  不嫌不闲  阅读(1471)  评论(0编辑  收藏  举报