3

最初に、 RX ライブラリ 2.75などをインストールしました。次に、から派生した
カスタム(私のものではない)コンポーネントをインストールしようとしています。メイン メニュー->コンポーネント->コンポーネントのインストール...から行い、コンポーネントの .pasファイルを選択します。TMyLookupEditTRxLookupEdit

そして、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 60ではなく RxCtl6 のみをインストールしたと確信しています。しかし、現在は両方とも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 から {$LIBSUFFIX '60'} を削除します
  2. dclusr60.bpl ファイルを削除します
  3. dclusr.dpk を再構築します。

道順を教えてくれたSergに感謝します!

4

1 に答える 1

1

RxCtl660 ではなく、RxCtl6 のみをインストールしたはずです。ただし、両方とも C:\Program Files\Borland\Delphi6\Projects\Bpl にあります。

RxCtl6.bpl と RxCtl660.bpl が共存しているということは、RxCtl6 パッケージが {$LIBSUFFIX '60'} ディレクティブの有無にかかわらずコンパイルされたことを意味します。

更新された TeeChart コンポーネント パッケージをインストールした後、同様の問題が発生し、その結果、TeeChart に依存するパッケージが機能しなくなりました。簡単な解決策として、「必須」セクションで RxCtl6 と RxDB6 を RxCtl660 と RxDB660 に置き換えることができます。また、RX *.dpk ソースで {$LIBSUFFIX '60'} ディレクティブを確認してください。実際の問題は {$LIBSUFFIX '60'} ディレクティブに関連しています。

一部のパッケージが消えた場合、Delphi を再インストールしないでください。Delphi は、インストールされたパッケージに関する情報をレジストリに保持します。

  • IDE で問題を解決してみてください。役に立たない場合
  • レジストリの問題を修正してみてください
于 2010-12-01T09:45:14.527 に答える