この Delphi 7 コンパイル エラー「リソースの重複」を修正するにはどうすればよいですか
質問
継承した Delphi 7 プロジェクトをコンパイルしようとすると、次のエラーが発生します。
[エラー] 警告。重複したリソース:
[エラー] タイプ 2 (BITMAP)、ID 編集:
[エラー] ファイル C:[短縮されたパス]\common\CRGrid.res リソースが保持されます。ファイル c:\common aptree.RES リソースが破棄されました。
警告と書かれていますが、実際にはエラーであり、コンパイルが完了しません。
CRGrid と RapTree という 2 つのコンポーネントが何らかの形で衝突しているようです。これを修正する方法について何かアイデアがある人はいますか?
もちろん、プロジェクトからコンポーネントの 1 つを削除する以外のことです。
解決
リソース エディタ (Delphi には必ずリソース エディタが付属していると思います) を起動して、ファイルを開いてみてください。2 つのビットマップ リソースにどのようなものがあるかを確認し、どちらが重複している可能性があるかを確認します。
両方のリソースを保持する必要がある場合は、いずれかのリソースの番号を付け直す必要があります。
他のヒント
これを試して: 「リソースが重複しています」エラーの修正
コンポーネントに移動してリソースの 1 つの名前を変更し、新しい名前を使用するようにコンポーネント コードを更新する必要があります。痛みはありますが、できることはそれだけです。
これが古いスレッドであることは承知していますが、古いコードを維持している人にとっては更新する価値があります。
この問題は、RES ファイル内の画像が同じ名前になっていたことが原因でした。Delphi7 には、RES ファイルを開くことができるイメージ エディターが備わっています。重複リソース エラーに関係する両方の RES ファイルを開き、問題の重複リソースの 1 つの名前を変更するだけです。RES ファイルを保存して再コンパイルします。最近、Delphi 7 アプリの古いコンポーネントを(わずかに)新しいコンポーネントに置き換えたとき、2 回うまくいきました。