Порядок включения ресурсов в исполняемый файл в Delphi 7
Всем доброго времени суток.
Не могу понять, в каком порядке компилятор Delphi 7 упаковывает ресурсы в исполняемый файл?
Использую классическую схему - из текстовых RC-файлов автоматически собираются и подключаются эквивалентные RES. На данный момент имею 3 ресурсных файла, которые подключаются в DPR файле проекта в следующем порядке:
{$R 'res\MAINICON.res' 'res\MAINICON.rc'} // Главный значок программы в нескольких размерах
{$R 'res\VERSIONINFO.res' 'res\VERSIONINFO.rc'} // Информация о версии
{$R 'res\ICONS.res' 'res\ICONS.rc'} // Остальные значки
MAINICON.rc:
MAINICON ICON res/image_capture_all_sizes.ico
ICONS.rc:
CAMERA_BW ICON res/camera_bw.ico
CAMERA_FLASH_1 ICON res/camera_flash1.ico
CAMERA_FLASH_2 ICON res/camera_flash2.ico
CAMERA_FLASH_3 ICON res/camera_flash3.ico
CAMERA_FLASH_4 ICON res/camera_flash4.ico
CAMERA_FLASH_5 ICON res/camera_flash5.ico
CAMERA_FLASH_6 ICON res/camera_flash6.ico
CAMERA_FLASH_7 ICON res/camera_flash7.ico
После компиляции вижу, что основным значком программы отображается не MAINICON, а CAMERA_BW.
Открыл EXE-шник программой PE Explorer и вижу, что порядок включения значков в разделе Icon entry получился следующий:
CAMERA_BW
MAINICON 48пкс.
MAINICON 32пкс.
MAINICON 24пкс.
MAINICON 16пкс.
CAMERA_FLASH_5
CAMERA_FLASH_6
CAMERA_FLASH_7
CAMERA_FLASH_1
CAMERA_FLASH_2
CAMERA_FLASH_3
CAMERA_FLASH_4
MAINICON 64пкс.
Порядок в Group icon:
CAMERA_BW
CAMERA_FLASH_1
CAMERA_FLASH_2
CAMERA_FLASH_3
CAMERA_FLASH_4
CAMERA_FLASH_5
CAMERA_FLASH_6
CAMERA_FLASH_7
MAINICON
Где-то вроде читал, что MAINICON всегда должен быть расположен первым. Но насколько я вижу, порядок включения в ресурсных файлах на реальное положение в исполняемом файле никак не влияет.
P.S.: Перейти на более свежую среду Delphi не предлагать.