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

cro*_*don 1 delphi delphi-2009 delphi-xe

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

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

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

谢谢!

Ond*_*lle 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.