Ваши иконки включают большой стиль 256px значки, которые были введены в сроках Vista. Инструмент Delphi 5 не способен связывать их. Насколько я помню, brcc32
из Delphi 5 не может обрабатывать эти значки, потому что значки 256px представлены в файле .ico размером 0
. Они также хранятся с сжатием PNG, чтобы поддерживать размер. brcc32
от Delphi 5 ничего не знает об этом и просто не может справиться с этим.
Когда я связывал такие значки с моими старыми проектами Delphi 6, я использовал компилятор ресурсов Microsoft, rc.exe
для компиляции ресурсов. Компонент Delphi от Delphi 6 смог связать скомпилированные файлы .res
.
Я не уверен, сможет ли этот компоновщик Delphi 5 сделать это. Если нет, вам понадобится post-build action, чтобы связать ресурс с файлом. Однако, если я правильно помню, все, что мне нужно было сделать, это использовать rc.exe
, чтобы скомпилировать файл .rc
в .res
, а затем сообщить об этом Delphi.
Таким образом, в заключении необходимо:
- Компиляция
.rc
файла с современным компилятором ресурсов, например rc.exe
.
- Связать полученный файл
.res
обычным способом с $R
, если Delphi 5 может это сделать. Если это невозможно, используйте отдельную пост-сборку, чтобы связать файл .res
.
спасибо. Какой идентификатор ресурса следует использовать для значка в файле .rc, так как значок является основным значком приложения. – alancc
Вы должны называть его MAINICON, потому что это имя, которое использует VCL –
Спасибо. Я пытаюсь, но получаю предупреждение, сказал «Дублировать ресурсы». Как удалить исходный значок для проекта и использовать его во внешнем файле .res? – alancc