如何在 Delphi 2010 IDE 中指定项目特定的包设置?更改项目选项中的包确实会更改项目组中所有项目的包。
这很烦人,因为我使用一个需要禁用的包来构建我的应用程序,以便在项目组中编译 BPL。
如何在 Delphi 2010 IDE 中指定项目特定的包设置?更改项目选项中的包确实会更改项目组中所有项目的包。
这很烦人,因为我使用一个需要禁用的包来构建我的应用程序,以便在项目组中编译 BPL。
正如我在对 vcldeveloper 的回答(现在不知何故消失了)的评论中所说的那样,我可以确认这种行为。虽然我不知道内在函数,但我可以尝试给出一些解释的提示。
当您在项目选项中禁用一个包时,这将从 IDE 中卸载这个包(可能还有更多)。如果这些设置对于同一项目组中的每个项目都是唯一的,则项目的简单切换将不得不在 IDE 中加载/卸载设计时包。除了性能下降之外,这可能是可以实现的。
假设我们在一个项目组中有两个项目,每个项目都包含一个带有一些组件的表单。Project1 中的 Form1 使用 Package1 中的组件,Project2 中的 Form2 使用 Package2 中的组件。出于某种原因,这两个软件包是互斥的。鉴于前面解释的(不存在的)行为,在两个项目之间切换将加载/卸载相应的包。
但是没有人阻止您从需要 Package2 的 Project2 打开 Form2,同时仍然选择 Project1(这意味着 Package2 已卸载)。因此,Form2 上使用的组件是未知的,无法加载表单。
此外,假设在您切换到 Project2 时选择了 Project1,并且 Project1 中的 Form1 处于打开状态。这将卸载 Package1 - 使 Form1 上的组件消失?
有理由使项目组中的所有项目需要或排除的包保持同步。
您的问题的解决方案可能是使用单独的项目组。