2010-02-19 84 views
2

如何在Delphi 2010 IDE中指定项目特定的软件包设置?更改项目选项中的软件包会更改项目组中所有项目的软件包。如何指定项目特定的包装设置?

这很烦人,因为我用一个需要禁用的软件包构建我的应用程序,以便编译项目组中的BPL。

回答

4

正如我对vcldeveloper的回答(现在已经消失)的评论所说,我可以证实这种行为。虽然我不了解内在因素,但我可以尝试给出一些提示来解释。

当您在项目选项中禁用软件包时,它将从IDE中卸载此软件包(可能还有一些)。如果这些设置对同一个项目组中的每个项目都是唯一的,那么项目的简单切换将不得不在IDE中加载/卸载designtime包。除了性能下降,这可能是可能实现的。

我们假设我们在一个项目组中有两个项目,每个项目都包含一个包含一些组件的表单。 Project1中的Form1使用Package1中的组件和Project2中的Form2中的Package2中的组件。由于某些原因,这两个软件包是互斥的。鉴于之前解释的(不存在的)行为,在两个项目之间切换将加载/卸载相应的包。

但没有人阻碍你从Project2的同时仍然PROJECT1选择(这意味着包2卸载)打开窗体2需要包2。因此,Form2上使用的组件是未知的,并且该表单无法加载。

此外,假设Project1被选中,并且在切换到Project2时Project1的Form1已打开。这会卸载Package1 - 使Form1上的组件消失?

有一个理由继续通过在同步一个projectgroup所有项目需要或排除的包。

解决您的问题的方法可能是使用单独的项目组。

+5

什么Embarcadero公司能做的,就是让包选择GUI上的*项目组*选项,因为它已经表现在球场上这样... – 2010-02-22 15:35:10