Я хочу создать две разные версии моего приложения с разными значками на основе DEFINE. Мне удалось включить различные файлы ресурсов на основе определения, но я не могу избавиться от MAINICON
в файле .res по умолчанию моего проекта.Условно изменить значок приложения с Delphi 2006
Я добавил ресурс Version1.rc файл со следующей строкой:
MAINICON icon "resource\icons\Version1.ico"
Но если я пытаюсь скомпилировать MyProject с помощью IDE я всегда получаю следующее сообщение об ошибке:
E2161 Duplicate resource: Type 14 (ICON GROUP), ID MAINICON; File C:\MyProject\Version1.RES resource kept; file C:\MyProject\MyProject.RES resource discarded.
Я пытался для редактирования MyProject.res
с использованием редактора ресурсов и удаления MAINICON, но delphi автоматически, похоже, воссоздает файл, включая значок.
Не позволяйте IDE управлять MyProject.res. Создайте скрипт сборки. Конечно, я регулярно предлагаю, чтобы здесь и каждый раз, когда я делаю, несколько человек не согласны со мной. Мне кажется, что мне нравится иметь повторяющийся процесс сборки, который не полагается на IDE ....... –
@DavidHeffernan На данный момент я запускаю скрипт 'compile_resources.bat', а затем я нажимаю' Build All 'в моей группе проектов в среде IDE. Однако Delphi, похоже, перезаписывает MyProject.res в этом процессе. Я понимаю ценность наличия скрипта для компиляции всего, но я думаю, что это будет довольно некоторая работа. С другой стороны, я также хотел бы иметь возможность установить определение в среде IDE и создать правильный exe. –
Вам просто нужно взять с себя IDE. Удалите строку '{$ R * .res}' из файла .dpr, и вам хорошо идти. С другой стороны, если вы предпочитаете строить в среде IDE, то вы будете бороться с такими задачами. Если это то, что вы предпочли бы делать, то это зависит от вас, очевидно. –