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

在Delphi 2009和Delphi XE下安装相同的组件不起作用,delphi,delphi-2009,delphi-xe,Delphi,Delphi 2009,Delphi Xe,我在D2009中使用了一组自定义组件。我已经安装了Delphi XE,我希望在升级项目时能够在两个IDE中使用这些组件。但当我在XE中安装它们时,它们在D2009中就不再真正可用了。项目仍将编译,但组件不再显示在工具选项板中,它们也不会显示在表单设计器中 无论我如何尝试卸载/重新安装等,我都无法让组件在D2009中工作。我已经验证了两个IDE的库路径中都有组件的目录 我需要在这里做什么才能让组件在两个IDE中都工作 谢谢 不同版本的Delphi在不同路径(“包输出目录”)中生成不同的包(*.bp

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

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

我需要在这里做什么才能让组件在两个IDE中都工作


谢谢

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


解决方案是始终为包使用库后缀。我建议按照Delphi自己的惯例,D2009包使用120,XE包使用150。对于D2009,您的x.bpl将变为x120.bpl,对于XE,您的x.bpl将变为x150.bpl。

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


解决方案是始终为包使用库后缀。我建议按照Delphi自己的惯例,D2009包使用120,XE包使用150。D2009的x.bpl变为x120.bpl,XE的x.bpl变为x150.bpl。

的确如此。我通常为每个版本的不同包文件(.dpk、.dproj等)提供单独的目录,为组件文件提供一个公共目录。我通常为每个版本的不同包文件(.dpk、.dproj等)提供单独的目录,并为组件文件提供一个公共目录。