在Delphi 2009和Delphi XE下安装相同的组件不起作用

时间:2011-07-19 13:01:21

标签: delphi delphi-2009 delphi-xe

我有一套我在D2009中使用的自定义组件。我已经安装了Delphi XE,我希望能够在升级我的项目时在两个IDE中使用这些组件。但是当我在XE中安装它们时,它们在D2009中不再真正可用。项目仍然会编译,但组件不再显示在工具选项板中,也不会出现在表单设计器中。

无论我如何尝试卸载/重新安装等,我都无法在D2009中使用这些组件。我已经验证了两个IDE的库路径中都有组件的目录。

我需要做什么才能让组件在两个IDE中都能正常工作?

谢谢!

1 个答案:

答案 0 :(得分:10)

不同版本的Delphi在不同的路径(“包输出目录”)中生成不同的包(* .bpl文件)集。必须在IDE运行时加载设计包。现在,Windows搜索路径可能会发挥作用;当D2009想要加载包x.bpl时,它会解析为它的(不兼容的)XE版本,因为XE的包输出目录在D2009之前的系统搜索路径中 - 如果您先安装D2009并稍后安装XE(推荐),则会发生这种情况。

解决方案是始终使用Library Suffix作为您的包。我建议你遵循Delphi自己的惯例,使用120代表D2009封装,150代表XE封装。你的x.bpl成为D2009的x120.bpl和XE的x150.bpl。