我在VB6的VB6上遇到了奇怪的问题。
我认为,这可能是因为我试图安装一些旧的软件来与雕刻机通信。由于缺少OCX文件,安装只部分成功。然而,应用程序被列在程序文件中,但是当它被加载时,只有一些功能起作用。
当我下一次尝试打开一个VB6项目时,它显示了一个关于无法加载MSCOMCTL.OCX的错误。起初,我认为雕刻工具的安装已经损坏了一些文件,所以我重新安装了VB6和Service 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窗口公共控件6。问题是这是我唯一能打开的项目。所有其他项目都会失败,错误“”无法加载。即使启动一个新项目,在选择6时,也会出现错误“无法加载”。
我查看了项目文件和项目中对MSCOMCTL.OCX的引用,这些文件和不相同的项目是不一样的:
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0;MSCOMCTL.OCX
有人能帮我让VB6再工作一次吗?有谁知道为什么单个项目可以在没有任何问题的情况下加载MSCOMCTL.OCX,但是所有其他项目,包括全新的项目,都会抛出错误?
编辑:奇怪的是,在最初的帖子发布很久之后,这个问题就因为可能的重复而被标记出来。在我对以下答复的评论中,我特别指出,我尝试了作为对这个问题的回答而提出的解决办法,但它没有奏效。
发布于 2016-05-13 08:31:55
在安装问题应用程序之前,我已经通过执行系统还原来使VB6正常工作。在发布问题之前,我确实尝试过这样做,但是我有一个单独的问题,就是让系统恢复工作,它说它无法访问一个文件并回滚任何更改。
发布于 2016-05-12 16:42:44
您确定工作项目和非工作项目中的引用是相同的吗?尝试将引用更改为
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX刚刚更改了对2.0的引用中的2.1。这在我的环境中是可行的。也许这就是成功项目和不成功项目之间的区别。参考文献中的细微差别很容易被忽略。
https://stackoverflow.com/questions/37190715
复制相似问题