Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.05.24;
Скачать: [xml.tar.bz2];

Вниз

Ошибка «Duplicate resource»   Найти похожие ветки 

 
Kolan ©   (2009-04-08 11:42) [0]

Здравствуйте!

Не могу понять в чем дело. При компиляции компилятор (D2007) выдает ошибку, а точнее две:

[DCC Error] E2161 Warning: Duplicate resource:  Type 14 (ICON GROUP), ID MAINICON; File D:\MyWork\Delphi\KFreGrafWorkingCopy\SoftWare\Source\KFreGrafMainForm\KFreGraf.r es resource kept; file D:\MyWork\Delphi\KFreGrafWorkingCopy\SoftWare\Source\KFreGrafMainForm\KFreGraf.r es resource discarded.

[DCC Error] E2161 Warning: Duplicate resource:  Type 16 (VERSIONINFO), ID 1; File D:\MyWork\Delphi\KFreGrafWorkingCopy\SoftWare\Source\KFreGrafMainForm\KFreGraf.r es resource kept; file D:\MyWork\Delphi\KFreGrafWorkingCopy\SoftWare\Source\KFreGrafMainForm\KFreGraf.r es resource discarded.


Странность в том, что, во-первых, как обычно, раньше все работало, во-вторых, с ресурсами я никаких манипуляций в коде не делаю.

Да и ошибка какая-то дурацкая. С одной стороны файл KFreGraf.res kept, а с другой (он же) — discarded. Как так?

Более того, если совсем удалить KFreGraf.res и сделать билд, то все равно ошибка возникает.

Если в меню Project → Options → Version Info убрать галочку Include version information in project, то вторая ошибка (VERSIONINFO) исчезает.

Код dpr такой:
program KFreGraf;

uses
 Forms,
...

{$R *.res}

begin
 Application.Initialize;
 Application.Title := "KFreGraf";
 Application.HelpFile := "E:\MyWork\Delphi\KFreGrafProject\SoftWare\Source\Binary\Help\KFreGrafHelp.hlp";
 Application.CreateForm(TMainForm, MainForm);
...
 Application.CreateForm(TModelBuilderForm, ModelBuilderForm);
 Application.Run;
end.


Еще (вдруг это важно), раньше у меня в этом проекте было куча БПЛ-пакетов. И в один прекрасный момент при открытии (именно при открытии в среде)  всей этой группы с проектов стало появляться сообщение про Duplicate resource, но в виде простого модального окна. Окно с сообщением об ошибки закрывалось, и проект компилировался нормально.
Сейчас я убрал все пакеты и, возможно, это та самая старая проблема, которая была с пакетами.

Итого
1. Что за дурацкая формулировка ошибки, что это значит?
2. Почему возникает ошибка?
3. Как избавиться от ошибки?


 
Игорь Шевченко ©   (2009-04-08 12:03) [1]


> 3. Как избавиться от ошибки?


убрать дублирующиеся ресурсы


 
Kolan ©   (2009-04-08 12:08) [2]

Где их искать, Игорь? Да и откуда им взяться...

А может...
Прошел поиском по папке с исходниками, искал *.res. Нашлось много файлов — это остатки от пакетов-проектов. Удалил их, сделал билд. Ошибка осталась.


 
Медвежонок Пятачок ©   (2009-04-08 12:18) [3]

переименовал модуль формы.
появилось две копии.
в юзесах обе.
в обоих ссылка на один и тот же рез.

включай голову-то


 
Игорь Шевченко ©   (2009-04-08 12:20) [4]


> Где их искать, Игорь?


искать в файлах *.pas строки {$R имя_ресурса


 
brother ©   (2009-04-08 12:24) [5]

> MAINICON

ищи pas, где вероятнее всего может быть res c MAINICON
зы [4] самое оно ;)


 
Anatoly Podgoretsky ©   (2009-04-08 12:28) [6]

> Игорь Шевченко  (08.04.2009 12:03:01)  [1]

Убирать надо файл KFreGraf.r - ну или как минимум эти два ресурса из него.


 
Anatoly Podgoretsky ©   (2009-04-08 12:28) [7]

> Kolan  (08.04.2009 12:08:02)  [2]

Из KFreGraf.r они взялись.


 
Игорь Шевченко ©   (2009-04-08 12:56) [8]

Anatoly Podgoretsky ©   (08.04.09 12:28) [6]

Мне ничего не надо убирать, я уже все убрал :)


 
Kolan ©   (2009-04-08 13:02) [9]


> искать в файлах *.pas строки {$R имя_ресурса

Сделал поиск во всех файлах проекта {$R. И оказалось, что в dpr, в юзисах написано:

 KROMBuilderHistoryManager in "..\KFreGrafSimpleReportColleague\KROMBuilderHistoryManager.pas",
 KFreGrafStartUpController in "..\KFreGrafStartUpColleague\KFreGrafStartUpController.pas",
 KFreGrafStartUpColleagueUnit in "..\KFreGrafStartUpColleague\KFreGrafStartUpColleagueUnit.pas" {$R *.res},
 KFreGrafSystemControllers in "..\KFreGrafSystemControllerColleague\KFreGrafSystemControllers.pas",
 KFreGrafDeviceAddForm in "..\KFreGrafSystemControllerColleague\KFreGrafDeviceAddForm.pas" {DeviceAddForm},
...
 KFreGrafModelBuilderColleagueUnit in "..\KFreGrafModelBuilderColleague\KFreGrafModelBuilderColleagueUnit.pas",
 KFreGrafROMBurnColleagueUnit in "..\KFreGrafROMBurnColleague\KFreGrafROMBurnColleagueUnit.pas";

{$R *.res}



Как оно туда затисалось — не знаю, но думаю, что это Делфи сам...

Благодарю — скомпилилось.

Анатолий, а KFreGraf.r и вообще *.r-файлов в коде проекта нет.


 
Anatoly Podgoretsky ©   (2009-04-08 13:07) [10]

> brother  (08.04.2009 12:24:05)  [5]

Вот это самое оно не стоит трогать, да и бесполезно, а удалять надо из указаного файла.
Тоже мне надумал, давать ресурсами зарезервированые имена.


 
Anatoly Podgoretsky ©   (2009-04-08 13:09) [11]

> Kolan  (08.04.2009 13:02:09)  [9]

не .r а .rc
И строку в .dpr не трожь.


 
Anatoly Podgoretsky ©   (2009-04-08 13:10) [12]

> Игорь Шевченко  (08.04.2009 12:56:08)  [8]

Я даже думаю, что ты не добавлял.


 
brother ©   (2009-04-08 13:19) [13]

[10] я о другом, ну да ладно)


 
Kolan ©   (2009-04-08 13:37) [14]

*.rc тоже нет, а
KFreGrafStartUpColleagueUnit in "..\KFreGrafStartUpColleague\KFreGrafStartUpColleagueUnit.pas" {$R *.res},
я удалил и помогло.


 
Anatoly Podgoretsky ©   (2009-04-08 13:46) [15]

Конечно помогло, ведь ты удалил дубли ресурсов, но может кроме дублей ты удалил и что ни будь нужное.


 
Kolan ©   (2009-04-08 13:55) [16]

Я думаю, что это Делфи неверно добавил модули в юзис дпр"а новый модуль. Видимо он {$R *.res} забыл сдвинуть вниз, дописав новый модуль после запятой и добавив новый {$R *.res}.


 
Игорь Шевченко ©   (2009-04-08 14:31) [17]


> Я думаю, что это Делфи неверно добавил модули в юзис дпр"а
> новый модуль


Never attribute to malice which can be adequately explained by stupidity


 
Anatoly Podgoretsky ©   (2009-04-08 14:32) [18]

Kolan ©   (08.04.09 13:55) [16]
Правильно добавляет, неправильно добавляешь ты - нафига предопределеные ресурсы добавляешь?


 
Kolan ©   (2009-04-08 15:16) [19]

А если я скажу, что руками dpr не трогал, то можно будет attribute?


 
Anatoly Podgoretsky ©   (2009-04-08 15:28) [20]

> Kolan  (08.04.2009 15:16:19)  [19]

Ты все никак не можешь понять, что эти ресурсы делает компилятор и не надо их дублировать, плохо кончится, точь в точь как у тебя.


 
Kolan ©   (2009-04-08 15:37) [21]

Так я их и не дублировал. С чего вы это взяли?

Эта запись ...t.pas" {$R *.res}, там уже была. Руками её туда никто не вставлял.


 
Игорь Шевченко ©   (2009-04-08 15:43) [22]


>
> Эта запись ...t.pas" {$R *.res}, там уже была. Руками её
> туда никто не вставлял.


напиши комплейн в Codegear


 
Kolan ©   (2009-04-08 16:00) [23]

Ну вот, а то все стьюпидити, да стьюпидити :)


 
Игорь Шевченко ©   (2009-04-08 17:40) [24]


> Ну вот, а то все стьюпидити, да стьюпидити :)


а ты не только на свой счет принимай, мало ли у кого stupidity, пиши в Codegear, заодно узнаешь



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.05.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.005 c
2-1239179296
bioss
2009-04-08 12:28
2009.05.24
Работа с интерфейсом в Delphi


15-1237757405
Юрий
2009-03-23 00:30
2009.05.24
С днем рождения ! 23 марта 2009 понедельник


15-1233457388
TUser
2009-02-01 06:03
2009.05.24
Асрономия в вопросах и ответах


15-1237466374
немо2
2009-03-19 15:39
2009.05.24
Как обмануть компьютер, чтоб он думал, что в сети?


3-1221048997
Drowsy
2008-09-10 16:16
2009.05.24
Как в ХП передать вводимую строку из DBGrid-а?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский