首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VB6:名称与现有模块、项目或对象库相冲突

VB6:名称与现有模块、项目或对象库相冲突
EN

Stack Overflow用户
提问于 2014-11-10 02:41:11
回答 3查看 15.1K关注 0票数 8

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

加载过程中出现错误。请参阅xyz.LOG

我打开日志文件并看到以下错误:

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

在本例中,我可以看到问题是由Sheridan 3D控件造成的:C:\WINDOWS\system32 32\THREED32.OCX

我认为项目缺少一个组件,所以,VB6 > project > Components >勾选Sheridan3D控件,并得到了以下错误:

名称与现有模块、项目或对象库相冲突。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-08-10 08:44:24

我会给你最好的方法来解决这个问题。我遇到过很多种方式,但这是最好的处理方法。

结束这个项目。右键单击vb项目并使用记事本打开(而不是使用vb)。此项目文件将仅由项目中使用的所有引用、库和有关表单和模块的信息组成。

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

谢谢。尽情享受

票数 6
EN

Stack Overflow用户

发布于 2014-11-10 02:41:11

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

名称与现有模块、项目或对象库相冲突。

你需要把它缩小到两个互相冲突的OCX。

在我的例子中,我将范围缩小到Sheridan 3D控件/ THREED32.OCX和外旋控制/ SPIN32.ocx。

为了解决这个问题,我使用了RegSvr32来注销OCXs -确保使用/u标志的unregister。

代码语言:javascript
运行
复制
REGSVR32 "C:\WINDOWS\system32\THREED32.OCX" /u   

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

代码语言:javascript
运行
复制
REGSVR32 "C:\Dev\Project\THREED32.OCX"

然后,在有问题的项目>项目菜单组件>选择列表框中的项目Sheridan 3D控件/ THREED32.ocx (您不能勾选错误或取消选择为其使用的冲突错误)>单击Browse并从项目文件夹引用它,而不是C:\WINDOWS\system32 32\

另一个窍门是关闭项目并取消受影响的ocx注册--确保使用unregister标志(如/u标志)来注册它。

代码语言:javascript
运行
复制
RegSvr32 "c:\Windows\system32\mscomctl.ocx" /u   

然后打开项目> Components >,您将看到“MicrosoftWindowsCommonControls6.0 (SP6)”使用C:.\Microsoft Vi..\VB98\mscomctl.ocx中的OCX文件,而不是c:\Windows\system32\mscomctl.ocx。

然后,项目应该在没有这些错误的情况下加载:

代码语言:javascript
运行
复制
Errors during load. Refer to xyz.LOG
票数 3
EN

Stack Overflow用户

发布于 2020-11-12 14:16:22

尝试从引用中取消检查最新的对象库/引用,然后再次检查它,然后进行所需的引用(vb6有几个错误,可以通过反向进程来抵消)。我用这个过程解决了提到的错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26835929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档