2011-12-21 38 views
17

在Delphi XE2中鏈接我的項目時出現以下錯誤。重新創建.dproj文件沒有幫助。DCC提示:H2161警告:重複資源:類型24(用戶定義),ID 1;文件資源...保存;文件... WindowsXP.res資源丟棄

[DCC Hint] H2161 Warning: Duplicate resource: Type 24 (user-defined), ID 1; File resource <filename>.res kept; file c:\program files\embarcadero\rad studio\9.0\lib\Win32\release\WindowsXP.res resource discarded.

如何解決呢?謝謝您的幫助!

+0

請注意:至少從D2010起(可能D2009起),IDE緩存有時會妨礙您的工作,並且您可能會在編譯時收到重複的資源警告。做一個建設,他們走了。所以現在每當我看到一個重複的資源警告時,我首先會做一個構建,並且只有在沒有清除時纔會開始搜索。 – 2011-12-22 09:40:28

回答

19

你有多個應用程序清單鏈接到應用程序。只能有一個,所以有些必須被丟棄。現代Delphi版本默認基於「運行時主題」項目選項鍊接一個清單。您可能有另一個清單鏈接,也許可以追溯到您在早期版本的Delphi中開發項目時的情況。你有沒有使用TXPManifest組件?

您可以刪除您明確鏈接的清單。或者,您可以禁用運行時主題設置並保留顯式清單。後一種方式是控制清單。就我個人而言,這是因爲我確實需要控制清單中的內容。

+0

謝謝。但沒有選擇任何運行時主題。我試圖刪除主窗體上的一個XPManifest - 錯誤仍然存​​在:( – Dmitry 2011-12-21 22:32:32

+0

必須有另一個清單在某處!這是一個搜索它的問題。 – 2011-12-21 22:35:00

+0

按字符串搜索'TXPManifest'不顯示所有組件和文件的結果 – Dmitry 2011-12-21 22:41:40

-2

從項目源中刪除{$R *.res}有幫助。 Delphi XE2中限制{$R *.res}

+0

這聽起來不像答案。如果你想影響主應用程序資源,你最好在項目選項中使用運行時主題選項。按照rob的建議尋找xpman單元。 – 2011-12-21 22:49:13

+0

刪除{$ R *。如果您在自定義RC/RES文件中包含清單,res}可能具有「好像解決了」的效果。最好從自定義RES文件中刪除清單,而不是刪除整個RES引用。 – 2015-02-06 00:51:00

6

我有同樣的問題,並通過谷歌抵達此頁面。

從使用條款中刪除XPMan固定它。

通過搜索詞「xpman」中的「查找文件」找到罪魁禍首。感謝Rob Kennedy在David的回答中提出這個建議。

+0

與德爾福東京的樣品一樣。他們在用途列表中有XPMan;如果您取消選中「啓用運行時主題」,則會重新檢查您的身份;-) – 2017-09-19 06:46:55