在dclusr.dpk中安装组件会破坏其他组件

时间:2010-12-01 08:44:49

标签: delphi custom-component delphi-6

首先我安装了RX library 2.75和其他一些人 然后我正在尝试安装源自TMyLookupEdit的自定义(不是我的)组件TRxLookupEdit 我是通过主菜单 - >进行的。 组件 - > 安装组件... 并选择组件' .pas 文件

当Delphi尝试重建dclusr.dpk时,我得到类似这样的东西(不记得了,为了重现它,我找不到别的办法,只能重新安装Delphi):

Can't load package c:\program files\borland\delphi6\Projects\Bpl\dclrx6.bpl.
Cannot load package 'RxCtl6.'  It contains unit 'FileUtil,'which is also contained in package 'RxCtl660'

然后IDE告诉我MyLookupEdit组件已安装并且大约有100个其他组件已安装 un 。所有RX组件都从调色板中消失了

我确定我只安装了RxCtl6而不是RxCtl6 60 。但它们现在都在 C:\ Program Files \ Borland \ Delphi6 \ Projects \ Bpl 中。我唯一的线索是dclusr.dpk文件中的#define(见下文)

如何让RX和这个组件一起工作?


这是我的dclusr.dpk(大多数#defines被省略):

{$LIBSUFFIX '60'}

requires
  rtl,
  vcl,
  designide,
  vcldb,
  dbrtl,
  vclx,
  VclSmp,
  RxCtl6,
  RxDB6;

contains
  RegGrid in '..\..\..\..\_work\Delphi\__Install\__Components\No-package components\RegGrid\RegGrid.pas',
  Tabenter in '..\..\..\..\_work\Delphi\__Install\__Components\No-package components\TABENTER.PAS',
  MyLE in '..\..\..\..\_work\Delphi\__Install\__Components\No-package components\MyLookupEdit\MyLE.pas';

end.

解决方案

  1. 从dclusr.dpk
  2. 删除{$ LIBSUFFIX'60'}
  3. 删除dclusr60.bpl文件
  4. 重建dclusr.dpk
  5. 非常感谢Serg的指示!

1 个答案:

答案 0 :(得分:1)

  

我确定我只安装了RxCtl6   而不是RxCtl660。但他们都在   C:\ PROGRAM   文件\ Borland的\ Delphi6的\项目\栉Bpl

RxCtl6.bpl和RxCtl660.bpl的共存意味着您的RxCtl6包以某种方式使用和不使用{$ LIBSUFFIX'60'}指令进行编译。

在安装更新的TeeChart组件包之后,我遇到了类似的问题,结果是依赖于TeeChart的包变得不可行。 作为一种快速解决方案,您可以尝试在“必需”部分中用RxCtl660和RxDB660替换RxCtl6和RxDB6。另请检查{* LIBSUFFIX'60'}指令的RX * .dpk来源 - 实际问题与{$ LIBSUFFIX'60'}指令有关。

如果某些软件包消失,请不要重新安装Delphi - Delphi会在注册表中保存有关已安装软件包的信息,所以

  • 尝试在IDE中解决问题;如果它没有帮助
  • 尝试修复注册表中的问题