“无法加载包装A,它包含单元X,其也包含在包装B”中 [英] "Cannot load package A, it contains unit X, which is also contained in package B"

查看:438
本文介绍了“无法加载包装A,它包含单元X,其也包含在包装B”中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

(更多的包/组件为我安装乐趣 - 感谢大家所有的帮助,迄今为止)。



我在Delphi 2007中收到标题列出的错误。包A是我的基于框架的查看器面板包。包B是一个包含几个组件的包,用于显示与gven数据库(它们的SQL,状态,类类型等)链接的数据集的信息,其中一个是非可视组件(我们称之为检查员),其创建并调用显示该信息的表单。单位X是该表单的单位。



我将Inspector组件添加到我的一个查看器面板中,但已经被删除,并且找不到任何引用它在项目的视图源中,也不是我添加到框架的查看器面板的单位。参考隐藏在哪里?



同样,将Inspector组件添加到其中一个视图面板框架(也作为注册组件安装)会导致此问题?



这可能与以前的问题这一个,但是我决定用这个特定的symtpom /问题开始新鲜,只是为了保持简洁明了,希望以后对别人有用。提前感谢任何和所有的帮助。






更新:



感谢Loren,找到并删除剩余的使用引用,并导致问题。然而,我仍然不清楚如何完成我要完成的工作。 :\这是最新的:



Inspector是一个简单的非可视化组件,其中包含一个DataSet属性和一个内部的Info Form。调用ShowInfo方法创建表单,并使用与链接的DataSet相关的各种信息进行填充。我想使用它来调试驱动观众的SQL。



如上所述,Inspector包含在包B中。查看者在包A中想在一些TFrame后代使用Inspector组件(注册为真正的调色板组件)。当我将该组件放在给定的TFrame上使用它,并编译/安装软件包A时,我得到无法加载软件包A,它包含单元X,它也包含在软件包B错误。现在显然是原因,我可以根据需要重新创建问题。



下面的moobaa的建议是有道理的,但它似乎尽管我正在尝试做他所建议的方法2,但它并不奏效。我失踪了什么看来这应该是可行的,实际上看来,我看过的大多数软件包看起来一直使用其他安装的软件包(包括VCL本身)。



注意:包B不依赖于软件包A,据我所知(我已经安装它独立,所以似乎同意)。



(BTW,有没有任何工具来排除这样的包依赖关系?我使用D2007)


解决方案

只是因为删除了组件并不意味着你删除了USES子句中的模块名称 - 这些不是自动删除的。


(More package/component install fun for me -- thanks everyone for all your help to date).

I am getting the error listed as the title, in Delphi 2007. Package A is my package of frame-based "viewer panels." Package B is a package containing a couple of components that are used to show information about datasets linked to a gven database (their SQL, state, class type, etc), one of which is a non-visual component (we'll call it the Inspector) which creates and calls a form showing that information. Unit X is the unit of that form.

I added the Inspector component to one of my viewer panels in Package, but have since deleted it, and cannot find any reference to it in View Source for the project, nor in the unit of the frame-based viewer panel I added it to. Where is the reference hiding?

Also, what would make adding that Inspector component to one of the view panel frames (which also get installed as registered components), cause this problem?

This is likely related to this previous question and this one as well, but I decided to start fresh with this specific symtpom / issue, just to keep it succinct and clear, and hopefully thus useful to someone else later. Thanks in advance for any and all help.


Update:

Thanks to Loren, I was able to find and remove the USES reference that remained and was causing the problem. HOWEVER, I'm still not clear on how to accomplish what I'm trying to accomplish. : \ Here's the latest:

The Inspector is a simple non-visual component which contains a DataSet property, and an internal "Info Form." Calling a ShowInfo method creates the form, and populates it with various information related to the linked DataSet. I'm wanting to used it to debug the SQL driving the viewers.

As mentioned above, the Inspector is contained in Package B. The viewers are in Package A. I want to use the Inspector component on some of the TFrame descendents (which register as true palette components). When I drop that component on the given TFrame however to use it, and compile/install Package A, I get the "Cannot load package A, it contains unit X, which is also contained in package B" error. It's now clearly the cause, and I can re-create the problem on demand.

moobaa's suggestion below makes sense, and yet it seems that even though I am trying to do approach #2 of what he suggest, it does not work. What am I missing? It seems like this should be doable, and in fact it seems like most packages I've seen use other installed packages all the time (included the VCL itself).

Note: Package B does not depend on Package A, as far as I can tell (and I've installed it stand alone, so that seems to agree).

(BTW, are there any tools to "chart out" package dependencies like this? I'm using D2007)

As always, thanks for your time and help.

解决方案

Just because you deleted the component doesn't mean you deleted the module name from the USES clause--those aren't auto-deleted.

这篇关于“无法加载包装A,它包含单元X,其也包含在包装B”中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆