类控制名称MSComctlLib。[ListView | TextBox | ect]不是加载的控件类

时间:2012-09-27 05:46:42

标签: dll vb6 compilation compiler-errors

此错误来自编译vb6 dll的机器,该机器突然停止工作并且过去工作正常。

我在网上看到了很多我能找到并且与我相关的解决方案。 包括这些似乎很有希望的 http://www.xtremevbtalk.com/archive/index.php/t-140158.html 和一个 http://www.excelfox.com/forum/f2/missing-mscomctllib-15/

这两个建议重新注册MSCOMCTL.OCX

但是在完成这两个之后我仍然遇到了问题。 经过几个小时的搜索和尝试不同的事情后,我意识到已经安装了一些更新,并且由于公司政策而等待重启机器。

答案

我重启机器并等待更新完成安装。 之后,dll编译没有问题。

4 个答案:

答案 0 :(得分:12)

在安装了一些Windows更新(包括升级到IE10)和VS2012 Update 3后,我遇到了同样的问题,但更新已完全安装,并且MSCOMCTL.OCX已经注册了COM。在我发现的关于这个问题的另一篇StackOverflow帖子中,这最终为我解决了这个问题:

以Admin

运行命令提示符

在64位系统上导航到C:\ Windows \ SysWOW64,在32位系统上导航到C:\ Windows \ system32

执行'regtlib msdatsrc.tlb'(不带引号)

信用转为'自动': VB6 IDE cannot load MSCOMCTL.OCX after update KB 2687323

我在这里发帖,因为你是第一个搜索此错误的结果。

答案 1 :(得分:1)

如果计算机在某个时刻编译dll / ocx但这个答案不再存在,那么这个答案应该有效,但是如果你的计算机从来没有编译它也可以工作。

因此,问题的简单答案是检查您的计算机是否有等待重启的挂起更新。

如果是这样,请确保重新启动计算机。

如果重启后问题仍然存在,请尝试重新注册应存在于windows子目录中的MSCOMCTL.OCX; c:\ windows \ system32 c:\ windows \ SysWOW64 请注意,您使用regsvr32注册ocx

答案 2 :(得分:1)

我有Windows Server 2008 R2(64位),我遇到了同样的问题,我按照以下方式得到了:

  1. 转到路径C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319
  2. 执行'regtlibv12 msdatsrc.tlb'(不带引号)

答案 3 :(得分:0)

我有一台生产计算机出现此问题。它是一台新格式化的PC,以Windows XP作为操作系统。在撰写本文时,我们知道Windows XP不再提供更新。我做的是,我安装了VB6,因为我可以访问这个软件,之后,我安装了VB6 Service Pack 6,错误得到纠正。我必须安装VB6 Enterprise,因为安装Service Pack需要安装所述IDE中包含的数据。