3

首先,我安装了RX 库 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 个其他组件安装。所有 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 中删除 {$LIBSUFIX '60'}
  2. 删除 dclusr60.bpl 文件
  3. 重建 dclusr.dpk

非常感谢 Serg 的指导!

4

1 回答 1

1

我确定我只安装了 RxCtl6 而不是 RxCtl660。但它们都在 C:\Program Files\Borland\Delphi6\Projects\Bpl

RxCtl6.bpl 和 RxCtl660.bpl 的共存意味着你的 RxCtl6 包是在使用和不使用 {$LIBSUFFIX '60'} 指令的情况下以某种方式编译的。

I had the similar problem after installing an updated TeeChart component package, with the result that TeeChart - dependent packages became unworkable. As a quick solution you can try to replace RxCtl6 and RxDB6 by RxCtl660 and RxDB660 in the "required" section. Also check your RX *.dpk sources for {$LIBSUFFIX '60'} directive - an actual the problem is connected to {$LIBSUFFIX '60'} directive.

Don't reinstall Delphi if some packages disappear - Delphi keeps the information about the installed packages in registry, so

  • try to fix the problem in IDE; if it does not help
  • try to fix the problem in registry
于 2010-12-01T09:45:14.527 回答