我在VB6中遇到了MSCOMCTL.OCX的奇怪问题。
我认为这可能是因为我试图安装一些旧版软件与雕刻机进行通信。由于缺少OCX文件,安装仅部分成功。该应用程序虽然列在程序文件中,但是在加载时只有一些功能可用。
当我下次尝试打开VB6项目时,它显示一个无法加载MSCOMCTL.OCX的错误。 VB6之前没有任何问题。起初我以为雕刻工具安装已经损坏了一些文件,所以我重新安装了VB6和Service Pack 6但是没有解决问题。相反,错误消息说''无法加载。
我浏览了VB6 IDE cannot load MSCOMCTL.OCX after update KB 2687323这里的论坛帖子和Object Library Not Registered When Adding Windows Common Controls 6.0,但发布的解决方案均无效。
我设法卸载了雕刻软件,再次安装了VB6(再加上一些重新注册的dll)我设法让一个项目打开。该项目肯定已在组件中选择了Microsoft Window Common Controls 6。问题是这是我唯一可以打开的项目。所有其他项目都失败,错误“无法加载”。即使启动新项目,也会在选择Microsoft Windows Common Controls 6时无法加载错误。
我查看了项目文件和项目中对MSCOMCTL.OCX的引用以及不相同的项目:
对象= {831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0; MSCOMCTL.OCX
有人可以帮我恢复VB6吗?有没有人知道为什么一个项目可以毫无问题地加载MSCOMCTL.OCX,但所有其他项目,包括全新的项目,都会抛出错误?
编辑:奇怪的是,在原帖后很久,这个问题就被标记为可能重复。在我对下面的答案的评论中,我特别说我尝试了提出的解决方案作为该问题的答案,但它没有用。
答案 0 :(得分:0)
您确定工作项目和非工作项目中的引用是否相同?尝试更改以下
的引用Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX
在您对2.0的引用中刚刚更改了2.1。这适用于我的环境。也许这是有效的项目和没有的项目之间的差异。参考文献的细微差别很容易错过。
答案 1 :(得分:0)
我已经设法通过在安装问题应用程序之前执行系统还原来使VB6正常工作。在发布我的问题之前我确实尝试过这个问题,但我遇到了一个单独的问题,让系统还原工作,它说它无法访问文件并回滚任何更改。