8

打开一个 VB6 项目,我收到如下错误:

加载过程中的错误。参考 xyz.LOG

我打开日志文件并看到这些错误:

第 42 行:控件 XYZ 的 Threed.SSPanel 类不是加载的控件类。

在这种情况下,我可以看到问题是由于 Sheridan 3D 控件:C:\WINDOWS\system32\THREED32.OCX

我认为该项目缺少一个组件,因此,VB6 > Project > Components > 勾选 Sheridan 3D Controls 并收到此错误:

---------------------- Microsoft Visual Basic -------------- --
名称与现有模块、项目或对象库冲突
--------------- OK 帮助 -------- ------------------

4

3 回答 3

6

我会给你最好的方法来摆脱这个问题。我遇到了很多方法,但这是最好的处理方法..

关闭项目。右键单击vb项目并用记事本打开(不是用vb)。此项目文件将仅包含有关项目中使用的表单和模块的所有引用、库和信息。

现在只需删除冲突的模块或组件文件,您就有问题,只需删除整行。保存并关闭它,然后打开项目并添加组件。我发誓你不会得到那个错误。

谢谢你。享受

于 2017-08-10T08:44:24.020 回答
3

解决此问题的方法是启动一个新的 VB6 项目 > 项目菜单组件 > 勾选受影响项目中选择的组件,直到出现错误。

---------------------- Microsoft Visual Basic -------------- --
名称与现有模块、项目或对象库冲突
--------------- OK 帮助 -------- ------------------

您需要将其缩小到两个冲突的 OCX。

就我而言,我将其范围缩小到 Sheridan 3D Controls / THREED32.OCX 和 Outrider Spin Control / SPIN32.ocx

为了解决这个问题,我使用 RegSvr32 取消注册 OCX - 确保使用 /u 标志取消注册。

REGSVR32 "C:\WINDOWS\system32\THREED32.OCX" /u   

然后我将 OCX 复制到项目文件夹并使用以下方法再次注册它们:

REGSVR32 "C:\Dev\Project\THREED32.OCX"

然后在有问题的项目中 > 项目菜单组件 > 选择列表框中的项目 Sheridan 3D controls / THREED32.ocx (你不能在没有得到错误的情况下打勾或取消选中被选为正在使用的冲突项目)> 单击浏览并从项目文件夹而不是 C:\WINDOWS\system32\ 引用它


另一个技巧是关闭项目并注销受影响的 ocx - 确保使用 /u 标志注销它,例如

RegSvr32 "c:\Windows\system32\mscomctl.ocx" /u   

然后打开项目>组件>,您应该看到“Microsoft Windows Common Controls 6.0 (SP6)”正在使用 C:...\Microsoft Vi..\VB98\mscomctl.ocx 中的 OCX 文件,而不是 c:\ Windows\system32\mscomctl.ocx。

然后,该项目应加载而不会出现以下错误:

Errors during load. Refer to xyz.LOG
于 2014-11-10T02:41:11.553 回答
0

尝试从引用中取消选中最新的对象库/引用并再次检查它,然后找到您想要的引用(vb6 有一些可以通过反向过程来解决的错误)。我解决了使用此过程提到的错误。

于 2020-11-12T14:16:22.513 回答