添加Microsoft Rich Textbox Control 6.0(SP6)时"未注册对象库"

Ily*_*sov 33 ide vb6 ocx richtextbox

我尝试Microsoft Rich Textbox Control 6.0 (SP6)通过VB6 IDE中的Project - > Components ...添加控件.控件存在于控件列表中.当我勾选它并单击确定/应用时,我收到Object library not registered错误:

VB6 IDE对象库未注册错误

环境是Windows 7 SP1 x64,带有最新更新,VB6 SP6 + KB957924.richtx32.Ocx存在于C:\Windows\SysWOW64\.

我尝试通过在提升的命令提示符下运行来重新注册.ocx:

cd c:\windows\SysWOW64
regsvr32 /u richtx32.Ocx
regsvr32 richtx32.Ocx
Run Code Online (Sandbox Code Playgroud)

注册成功完成,但无法解决问题.

当我使用API Monitor查看引擎盖下的内容时,最近的可疑调用就是LoadRegTypeLib ({7c0ffab0-cd84-11d0-949a-00a0c91110ed}, 0x0001, 0x0000, LOCALE_NEUTRAL, 0x0018e82c)返回TYPE_E_LIBNOTREGISTERED.

Ily*_*sov 58

通过在提升的命令提示符中运行以下命令已解决此问题:

cd C:\Windows\SysWOW64\
regtlib msdatsrc.tlb
Run Code Online (Sandbox Code Playgroud)

这也有助于其他较旧的.ocx文件,如Graph32.ocx和Threed32.ocx

  • 如果`C:\ Windows\System32`中没有`regtlib.exe`,`C:\ Windows\Microsoft.NET\Framework\v4.0.30319\regtlibv12.exe`也可以. (17认同)
  • @Semmel它归结为非常基本的COM知识.问题的根本原因是特定接口未在系统中注册.如此明显的解决方案是注册类型库以及缺少接口的描述.这就是`regtlib`的作用.如果您仍然感到困惑,请尝试使用此链接:http://msdn.microsoft.com/en-us/library/windows/desktop/aa366757.aspx (4认同)