VB——对象库未注册

由于前两天在清理文件的时候,不小心把C盘系统文件删了,今天打开vb6遇到了一个很顽固的问题,如下:

解决方法1:

打开frmMain.log发现如下问题:

行 12: 控件 sbStatusBar 的类 MSComctlLib.StatusBar 不是一个已加载的控件类。
行 19: 属性名 _ExtentX 在 sbStatusBar 中是无效的。
行 20: 属性名 _ExtentY 在 sbStatusBar 中是无效的。
行 21: 属性名 _Version 在 sbStatusBar 中是无效的。
行 40: 属性名 Panels 在 sbStatusBar 中是无效的。
行 19: 属性名 _ExtentX 在 sbStatusBar 中是无效的。
行 20: 属性名 _ExtentY 在 sbStatusBar 中是无效的。
行 21: 属性名 _Version 在 sbStatusBar 中是无效的。
行 40: 属性名 Panels 在 sbStatusBar 中是无效的。

然后我打开部件,引用这个控件

于是确定了这个控件没有注册上,被我删了,注册:

出现下面问题,

出现这个问题是因为没有引用这个控件,通过工程,引用菜单,可加载DLL文件,然后就引用了一个ActiveX控件,然后再添加上部件microsoft windows common controls 6.0 的时候就可成功了,再打开vb的时候没有问题出现了。

解决方法2:

先关闭VB,再打开cmd,输入下面的语句:

regsvr32 /u %windir%\system32\mscomctl.ocx

regsvr32 %windir%\system32\mscomctl.ocx

输入第一句会成功,第二句就会出现一下错误:

运行的时候还是出现这个错误,是vb的一个公用控件库,去搜索一下vb6运行库,下载安装就可以了。

小知识补充:

一、关于DLL的介绍
 
DLL,动态链接库,Dynamic Link Library的缩写,是一个包含函数和数据的模块集合,可以被其它应用程序共享的程序模块。DLL作为共享函数库的可执行文件,封装了一个或多个已被编译、链接的函数。多个进程可以同时使用一个 DLL,在内存中共享该 DLL 的一个副本。DLL 还有助于共享数据和资源。 它和可执行文件(.EXE文件)非常类似,他们的区别在于 DLL 中虽然包含了可执行代码却不能单独执行,只能由需要使用它的应用程序来直接或间接调。

  DLL 有一个特殊的入口点(DllMain 函数),它在附加和分离进程和线程时运行。此行为允许根据需要创建和销毁数据结构。文件扩展名为 .ocx、.cpl 和 .drv 的文件类型也是 DLL,尽管文件扩展名已改变。

二、关于以.ocx为后缀名的ActiveX控件
刚才提到过,文件扩展名为 .ocx、.cpl 和 .drv 的文件类型也是 DLL。
现在的ActiveX 控件等价与以前的OLE控件或OCX,一个典型的控件包括设计时和运行时的用户界面,唯一的IDispatch接口定义了控件的属性和方法,唯一的 IConnectionPoint接口定义控件可引发的事件。一个控件可以在容器中运行,所以从运行的角度看它类似与一个DLL。

.ocx为后缀名的ActiveX控件的注册和卸载方法,在“开始”菜单的“运行”输入以下代码完成任务:
regsvr32 path & "\" '注册
regsvr32 /u path & "\" '卸载
其中path代表该所以在的目录的路径。

三、OCX和DLL的区别
  
以.ocx为后缀名的ActiveX控件是一种比较特殊的DLL,它的基础是OLE和COM,是有交互界面的可视化控件,定义了控件的属性和方法,定义控件可引发的事件的响应。我们通常说的.DLL为后缀名的文件是一个包含函数和数据的模块集合,可以被其它应用程序共享的程序模块。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当在使用VB时遇到"VB对象未注册"的错误提示时,可以尝试以下解决方法: 1. 确认是否安装了适当版本的VB对象:检查系统是否安装了所需要的VB对象版本。可以在Windows的控制面板中找到已安装的程序列表,查看是否存在所需的VB对象。如果没有找到,需要重新安装VB对象。 2. 注册VB对象:打开命令提示符,通过管理员权限执行"regsvr32"命令,将VB对象文件进行注册。命令的语法应为"regsvr32 <对象文件路径>"。执行命令后,应当出现注册成功的提示信息。 3. 更新或修复VB对象:如果安装了较新版本的VB对象,但仍然出现未注册的错误提示,可以尝试通过下载并安装最新的VB对象版本来解决问题。或者,使用控制面板的程序和功能工具进行修复操作,修复或更新已有的VB对象文件。 4. 检查VB代码中的引用:在VB代码中,如果引用了其他VB对象的组件,需要确保引用的组件在系统中已正确注册。可以在VB的项目属性中检查引用的对象,并重新添加或更新引用。 5. 检查操作系统的位数:确保操作系统与所使用的VB对象的位数一致。如果使用的是32位的VB对象,而操作系统为64位,则可能导致未注册的错误。需要使用适用于所使用操作系统位数的VB对象。 以上是几种常见的解决"VB对象未注册"错误的方法,根据具体情况选择合适的方法来解决问题。如果问题仍然存在,可能需要进一步研究或寻求专业人士的帮助。 ### 回答2: 要解决VB对象未注册的问题,可以按照以下步骤进行: 1. 检查错误信息:首先要确定错误是由于VB对象未注册引起的。可以查看错误消息中是否提到了缺少或找不到相关的对象。 2. 注册对象:使用命令提示符或运行对话框中的"regsvr32"命令来注册对象。具体步骤如下: - 打开命令提示符:在开始菜单中搜索"命令提示符",并打开它。 - 输入命令:在命令提示符中输入以下命令并运行:"regsvr32 文件路径\文件名",其中"文件路径\文件名"是要注册的对象文件的完整路径和文件名。 3. 检查文件路径和文件名:确认要注册的对象文件是否正确。有时候错误是由于提供了错误的路径或文件名导致的。 4. 执行系统修复:运行系统修复工具,如"系统文件检查工具(sfc)"来修复可能损坏的系统文件。具体步骤如下: - 打开命令提示符:在开始菜单中搜索"命令提示符",并以管理员身份运行它。 - 运行系统文件检查工具:在命令提示符中输入命令"sfc /scannow",并等待系统文件检查工具完成扫描和修复过程。 5. 重新安装软件:如果以上方法都无法解决问题,可以尝试重新安装相关软件。首先,卸载当前的软件,然后重新下载和安装最新版本的软件。 需要注意的是,以上方法适用于大多数情况下,在某些特定的情况下可能需要其他的解决方法。 ### 回答3: 当我们在使用 Visual Basic (VB) 时,如果遇到"VB对象未注册"的错误,意味着我们正在尝试使用未在系统中正确注册的 VB 对象。为了解决这个问题,可以按照以下步骤进行操作: 1. 确认错误消息:首先,我们需要确保错误消息指向的是 VB 对象未注册。检查错误消息中提供的详细信息,确保出现了相关的信息。 2. 重新注册 VB 对象:在开始解决问题之前,可以尝试重新注册 VB 对象。打开命令提示符(CMD)窗口,然后输入以下命令并按下 Enter 键: `regsvr32 "路径\文件名.dll"` 注意,需要将 "路径" 和 "文件名" 替换为实际 VB 对象文件的路径和文件名。重新注册对象后,尝试运行程序,查看问题是否已经解决。 3. 检查文件路径:如果重新注册对象无效,我们还应该仔细检查文件路径,确保对象文件实际存在于指定的路径中。 4. 安装或更新 VB 对象:如果问题仍然存在,那么我们可能需要安装或更新 VB 对象。这可以通过以下步骤完成: a. 访问 Microsoft 官方网站,搜索并下载最新版本的 VB 对象文件。 b. 运行下载的文件,并按照安装向导的指示进行操作。 c. 完成安装后,重新启动计算机并运行程序,查看是否问题已经解决。 5. 修改注册表(仅适用于高级用户):如果以上方法都无效,我们还可以尝试修改注册表来解决此问题。请注意,修改注册表可能会对计算机造成意想不到的影响,所以我们建议在修改之前先备份注册表。 a. 打开注册表编辑器,可以通过在开始菜单中运行"regedit"命令来打开。 b. 导航到以下路径:HKEY_CLASSES_ROOT\TypeLib\{00000000-0000-0000-0000-000000000000}。 c. 找到与 VB 对象相关的子键,并删除它们。 d. 重新启动计算机,然后重新运行程序,看看问题是否已经解决。 总的来说,解决"VB对象未注册"的问题可能需要尝试多种方法,如重新注册对象、检查文件路径、安装/更新 VB 对象以及修改注册表。请记住,在执行任何操作之前,请确保已备份重要数据,并小心谨慎地操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值