VB6.0毕竟是很古老的开发工具了,其对所使用的第三方组件依赖性比较强,例如在打开从其它电脑上拿来的VB6.0的软件(系统)的工程文件(源代码)时,常常会遇到"不能加载MSCOMCTL.OCX“的错误提示,如图所示:html
产生这种问题的可能性不少,例如目标电脑上MSCOMCTL.OCX组件的版本与开发该软件的电脑上的该组件版本不同(可能性很大);目标电脑上没有该组件;该组件文件已经被破坏或者是不可读等。下面针对第一种可能性给出解决方案(若是是后面的几种可能性,则还须要本身到网上下载或者是到原电脑上复制一个该组件的文件放在指定的文件夹下:32位操做系统放在.\Windows\System32文件夹下,64位操做系统放在.\Windows\SysWOW64文件夹下。而后一样须要按照下面的方法来操做才能够)。ide
方法一:工具
在上面的对话框当中必定要点击“是”!而后在下面的对话框当中点击“肯定”(该对话框就提示了使用MSCOMCTL.OCX组件的窗体名称,若是后面还有相似的提示,一概点击“肯定”):开发工具
若是还遇到下面的提示框,一概点击“肯定”:spa
最后打开了工程(源代码),咱们能够看到使用了MSCOMCTL.OCX组件的窗体已经变成了这个模样:操作系统
而正常状况下该窗体应该是这个模样的(此处以可执行文件的运行截图为例来对比):3d
由上面两张图对比能够知道,该窗体里面由于MSCOMCTL.OCX组件的加载错误问题,已经让窗体的“工具栏”和“状态栏”等控件都不见了,而再看VB6.0里面的“工具箱”处,发现不少组件的图标都不见了:htm
这是由于该MSCOMCTL.OCX组件能够为VB6.0提供8种控件(上图中多圈了一个组合框控件了),即:工具栏(Toolbar),状态栏(StatusBar),图像列表(ImageList),选项卡(TapStrip),进度条(ProgressBar),树形框(TreeView),滑动块(Slider),图像组合框(ImageCombo),而打开源代码的时候随着MSCOMCTL.OCX组件的加载失败,天然这些控件的图标也就消失了,对应的窗体里面那些控件也都变成了空白的PictureBox了。blog
怎么解决这个问题呢?ip
首先在打开的VB6.0工程里面(即软件的工程里面)必定要关闭全部添加了MSCOMCTL.OCX所提供的控件的窗体(包括代码窗体),不然的话通过下面的步骤保存了之后,那些窗体里面全部以前出问题的控件就被空白的PictureBox替代了。
而后右键点击“工具箱”的空白处,选择“部件”,如图所示:
在打开的窗体里面点击“浏览”按钮:
而后在打开的对话框里面“文件名”处输入完整的“MSCOMCTL.OCX”(或者是输入一部分后从下拉列表里面选择):
而后点击“打开”按钮:
在返回的窗体里面点击“肯定”按钮:
此时会发现“工具箱”内那些丢失的控件又“回来了”:
而后关闭VB6.0开发环境,在弹出的对话框里面选择“是”:
而后在再开工程文件(源代码)的时候,发现问题已经解决了,没有再弹出加载组件错误的提示了!
方法二:
以上方法能够解决绝大多数系统环境下所遇到的加载MSCOMCTL.OCX错误的问题,尤为是当操做系统是Windows7或者XP的时候,能够说能百分之百的解决问题,可是当操做系统是Windows8(8.1)或者是Windows10的时候,若是在上述方法当中添加MSCOMCTL.OCX控件的时候遇到了卡死,或者是“访问注册表错误”等的提示,不能继续使用上面的方法解决问题的时候,就须要使用下面的方法来解决问题了。
首先把已经打开的源代码工程(VB6.0开发环境)关闭了(注意:关闭的时候千万不要保存,也就是提示“保存文件的更改”那里必定要选择“否”,不然的话那些出问题的窗体可能就会保存了出问题的状态而没法挽回了)。
而后右键点击后缀名为.vbp的工程文件,选择“打开方式”,而后在打开方式的选项里面若是有“记事本”的话,则选择此项,反之的话选择“选择默认程序(C)”这一项:
而后在打开的窗体里面选择“记事本”,如图所示(若是推荐的程序处没有的话,就在“其余程序”下面寻找):
而后在上图中去掉“始终使用选择的程序打开这种文件”的钩,而后点击“肯定”按钮,这样就使用记事本打开了该工程文件,而后点击记事本当中的菜单项 编辑——查找:
在打开的“查找”对话框里面输入“MSCOMCTL.OCX”,而后点击“查找下一个”按钮:
此时能够看到找到的内容左边是“#2.1#0”的样子:
把上面字符串里面的“2.1”修改成“2.0”,而后关闭文档,保存,如图所示:
而后再采用一样的方法修改全部使用了MSCOMCTL.OCX组件提供的控件的窗体里面的内容:右键点击相关的窗体frm文件,选择“打开方式”——“记事本”(或者是没有记事本选项的话,使用“选择默认程序”指定记事本),如图所示:
一样采用记事本里面查找的方法找到“MSCOMCTL.OCX”所在的那一行文本:
此时看到其左边的内容也是“#2.1#0”:
一样把“2.1”修改成“2.0”,而后关闭记事本并保存:
而后再打开工程文件(源代码)看看,这样问题应该解决了,应该不会再弹出那个“不能加载MSCOMCTL.OCX”的提示了。
后续经验:
①在Windows8(8.1)或者Windows10系统上打开VB6.0的源代码的时候,常常会遇到弹出不少的错误提示的状况,除了上面所说的那个不能加载MSCOMCTL.OCX的错误提示以外,还可能有不能加载其它组件的错误提示,此时不用管它,一直点击“肯定”和“是”,等到彻底打开了源代码之后,再关闭了VB6.0软件(千万不要保存),而后再打开的时候可能就什么错误提示也没有了,能所有打开了,全部的组件都正常了(这种状况我已经遇到了不少次,目前还不能解释是什么缘由)。
②若是采用了上面的两种方法之后仍是不能解决问题,建议:检查在方法二当中,是否是把全部的使用到MSCOMCTL.OCX提供的控件的窗体使用记事本打开之后把里面的“2.1”都修改成“2.0”了?
③若是进行了上面的全部的操做,问题最终仍是不能解决的话,或者是还有其它组件加载错误的提示的话,那多半是安装的VB6.0有问题(或者是在VB6.0的安装过程当中被某些诸如360之类的杀毒软件误报阻止而致使不少组件安装失败),此时能够先下载一个VB6.0的SP6升级包安装看看,若是问题依旧,或者是SP6升级包都安装失败了,那必定是安装的VB6.0软件有问题,卸载了之后重装VB6.0软件吧(并且一般安装成功了SP6升级包之后能够解决不少除了MSCOMCTL.OCX以外的组件加载错误的问题),下面提供VB6.0的SP6升级包的下载地址(百度网盘):http://pan.baidu.com/s/1kTqgUJd
④有的时候很奇怪,刚开始打开源代码的时候,除了提示MSCOMCTL.OCX加载错误以外,还有其它的不少组件加载错误的提示,可是解决了MSCOMCTL.OCX加载错误的问题之后,其它的组件加载错误的提示也跟着消失了(目前还不知道是什么缘由)。
下面提供VB6.0软件的安装方法介绍:https://www.cnblogs.com/rewwensoftware/p/9563117.html
注:本博客内全部的文章均为原创,欢迎转载,但转载时请注明“瑞文软件”的字样,谢谢!