VB程序在引用部件mscomctl.ocx时提示不能加载,引用失败。

wanzhi116 2012-08-17 03:22:19
VB程序在引用部件mscomctl.ocx时提示不能加载,引用失败。
以前都是可以用的,反复注册这个控件都提示注册成功,重新安装VB6含SP6也不能解决问题。
从其它电脑中复制这个控件取代原有文件也不能解决问题。
请高手出招帮忙解决这个问题,最好不要重装系统,谢谢。
...全文
27952 43 打赏 收藏 转发到动态 举报
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
fongzl 2015-05-12
  • 打赏
  • 举报
回复
上面的办法我都用了,问题依然啊
jojo502 2014-11-18
  • 打赏
  • 举报
回复
引用 6 楼 SDUDEOP 的回复:
网上资料显示: 1. 有人说是VB6.0 SP6没有安装,其实已经安装了,再安装一次,问题依然存在。 2. 难道是控件本身的问题,复制过来一个管用的控件MSCOMCTL.OCX,REGSVR32 C:\WINDOWS\SYSTEM32\MSCOMCTL32.OCX,注册功能,但问题依然。 3. 难道是安装的OFFICE 2007的问题,造成相关的DLL或OCX文件不匹配,卸载OFFICE 2007, 安装OFFICE 2003 SP3, 结果问题解决了。 分析问题的原因:可能是OFFICE 在安装时与MSCOMCTL.OCX相关的文件被破坏。比如被病毒破坏。 个人解决办法:如果你的电脑安装OFFICE 时,如与WPS时会替换MSCOMCTL.OCX版本,进而加载失败。这个MSCOMCTL.OCX 一般是1.02M大小的。若不是,说明你的版本有问题。该版本我上传到空间上,若有需要可下载。
太牛了,折腾了几天的问题,你的一个控件就搞定了。。非常感谢!!
pipiqi1975 2014-10-31
  • 打赏
  • 举报
回复
从未调用过的,从6楼下载的文件运行成功。注册失败的话请到system32文件夹中右键该文件进行注册。版本信息如下图:
www1966813 2014-09-16
  • 打赏
  • 举报
回复
谢谢8楼,解决了
qq_17145961 2014-07-02
  • 打赏
  • 举报
回复
引用 8 楼 tougebotui 的回复:
用记事本打开VBP文件 找到这一行: Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0; MSCOMCTL.OCX 改为: Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX 保存即可
八楼果然厉害,我将下面的代码复制到我的vbp文件中就解决了。 我的原文件为: Type=Exe Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\Windows\SysWow64\stdole2.tlb#OLE Automation Reference=*\G{B691E011-1797-432E-907A-4D8C69339129}#6.1#0#C:\Program Files (x86)\Common Files\System\ado\msado15.dll#Microsoft ActiveX Data Objects 6.1 Library Form=fcmain.frm Form=pjdw.frm Object={CDE57A40-8B86-11D0-B3C6-00A0C90AEA82}#1.0#0; MSDATGRD.OCX Startup="fcmain" Command32="" Name="工程1" HelpContextID="0" CompatibleMode="0" MajorVer=1 MinorVer=0 RevisionVer=0 AutoIncrementVer=0 ServerSupportFiles=0 VersionCompanyName="Microsoft" CompilationType=0 OptimizationType=0 FavorPentiumPro(tm)=0 CodeViewDebugInfo=0 NoAliasing=0 BoundsCheck=0 OverflowCheck=0 FlPointCheck=0 FDIVCheck=0 UnroundedFP=0 StartMode=0 Unattended=0 Retained=0 ThreadPerObject=0 MaxNumberOfThreads=1 然后我添加了一行代码,treeview等内容自动就在工具栏上显示出来了。 Type=Exe Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\Windows\SysWow64\stdole2.tlb#OLE Automation Reference=*\G{B691E011-1797-432E-907A-4D8C69339129}#6.1#0#C:\Program Files (x86)\Common Files\System\ado\msado15.dll#Microsoft ActiveX Data Objects 6.1 Library Form=fcmain.frm Form=pjdw.frm Object={CDE57A40-8B86-11D0-B3C6-00A0C90AEA82}#1.0#0; MSDATGRD.OCX Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0;?MSCOMCTL.OCX ‘这行为添加 Startup="fcmain" Command32="" Name="工程1" HelpContextID="0" CompatibleMode="0" MajorVer=1 MinorVer=0 RevisionVer=0 AutoIncrementVer=0 ServerSupportFiles=0 VersionCompanyName="Microsoft" CompilationType=0 OptimizationType=0 FavorPentiumPro(tm)=0 CodeViewDebugInfo=0 NoAliasing=0 BoundsCheck=0 OverflowCheck=0 FlPointCheck=0 FDIVCheck=0 UnroundedFP=0 StartMode=0 Unattended=0 Retained=0 ThreadPerObject=0 MaxNumberOfThreads=1
wanglong3713 2014-06-23
  • 打赏
  • 举报
回复
引用 35 楼 u012097395 的回复:
[quote=引用 8 楼 tougebotui 的回复:] 用记事本打开VBP文件 找到这一行: Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0; MSCOMCTL.OCX 改为: Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX 保存即可
这个才是有用的[/quote] 难道每个工程文件都要这么改?这是一劳永逸的办法吗?求教!
Yutongzz 2014-05-14
  • 打赏
  • 举报
回复
引用 35 楼 u012097395 的回复:
[quote=引用 8 楼 tougebotui 的回复:] 用记事本打开VBP文件 找到这一行: Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0; MSCOMCTL.OCX 改为: Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX 保存即可
这个才是有用的[/quot 打开哪个VBP文件啊
Yutongzz 2014-05-14
  • 打赏
  • 举报
回复
试试看吧,希望能解决问题
奥斯卡11 2014-04-15
  • 打赏
  • 举报
回复
引用 8 楼 tougebotui 的回复:
用记事本打开VBP文件 找到这一行: Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.1#0; MSCOMCTL.OCX 改为: Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX 保存即可
这个才是有用的
qq_cc123456789 2014-04-14
  • 打赏
  • 举报
回复
我是 下载 安装 VB60SP6-KB2708437-x86-CHS.msi 后解决
优优酷 2014-03-26
  • 打赏
  • 举报
回复
我都不知道怎么进8楼说的那个?有谁可以帮我看一下吗?
uuyeqing 2014-03-18
  • 打赏
  • 举报
回复
解决方法是:修改VB中文版的兼容性,以winXP运行,这时加载工程就没事儿了,要是继续加载不上,就进行以下操作:工程->部件->浏览,在system32目录下找到MSCOMCTL.OCX。加载进去后就OK了,实验成功,分享一下,不知道能不能解决您的问题
磨菜刀 2014-02-24
  • 打赏
  • 举报
回复
就是使用记事本进行修改即可。我的win7系统64位,现在一切正常,非常感谢。
wycl8 2013-12-31
  • 打赏
  • 举报
回复

我的电脑上只有这个2.0的,没有2.1,但是还是不能用,出现以下错误
以下错误

请大侠赐教! 先谢谢了!
wycl8 2013-12-31
  • 打赏
  • 举报
回复

没有2.1可是还是不能用,请大侠指教
zhahongmin 2013-12-05
  • 打赏
  • 举报
回复
8楼的我的电脑也不管用,本来就是2.0的。按照18楼所说,注册表831FDD16-0C5C-11D2-A9FC-0000F8754DA1项下确实有2.0和2.1两个文件夹,将2.1那个删掉就可以了
yangliu82198 2013-11-21
  • 打赏
  • 举报
回复
我的是W7系统,好像还是解决不了
dwl65 2013-11-05
  • 打赏
  • 举报
回复
8楼的正解。
beihai_hw 2013-09-28
  • 打赏
  • 举报
回复
8楼正解 谢谢 !!!
simaqingtian 2013-09-03
  • 打赏
  • 举报
回复
引用 8 楼 tougebotui 的回复:
用记事本打开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 不用改
加载更多回复(23)

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧