![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка «Duplicate resource»
Kolan © (2009-04-08 11:42:00)Здравствуйте!
Не могу понять в чем дело. При компиляции компилятор (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.reskept, а с другой (он же) — 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:20:00) [21]
> Где их искать, Игорь?
искать в файлах *.pas строки {$R имя_ресурса
Медвежонок Пятачок (2009-04-08 12:18:00) [22]переименовал модуль формы.
появилось две копии.
в юзесах обе.
в обоих ссылка на один и тот же рез.
включай голову-то
Kolan (2009-04-08 12:08:00) [23]Где их искать, Игорь? Да и откуда им взяться...
А может...
Прошел поиском по папке с исходниками, искал*.res. Нашлось много файлов — это остатки от пакетов-проектов. Удалил их, сделал билд. Ошибка осталась.
Игорь Шевченко (2009-04-08 12:03:00) [24]
> 3. Как избавиться от ошибки?
убрать дублирующиеся ресурсы