2014-02-08 3 views

ответ

2

Ваши иконки включают большой стиль 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.

Таким образом, в заключении необходимо:

  1. Компиляция .rc файла с современным компилятором ресурсов, например rc.exe.
  2. Связать полученный файл .res обычным способом с $R, если Delphi 5 может это сделать. Если это невозможно, используйте отдельную пост-сборку, чтобы связать файл .res.
+0

спасибо. Какой идентификатор ресурса следует использовать для значка в файле .rc, так как значок является основным значком приложения. – alancc

+0

Вы должны называть его MAINICON, потому что это имя, которое использует VCL –

+0

Спасибо. Я пытаюсь, но получаю предупреждение, сказал «Дублировать ресурсы». Как удалить исходный значок для проекта и использовать его во внешнем файле .res? – alancc