Чтение в FinalBuilder VersionInfo из проекта Delphi 7
С удивлением обнаружил, что на многих форумах у коллег возникают проблемы как при автоматической сборке проекта через FinalBuilder автоматизировать изменение VersionInfo.
Для начала внесем ясность где настройки содержаться.
В Делфи 7 проектах для настроек используется файл .dof, в этот файл IDE сохраняет все настройки проекта. При компиляции на основе этого файла формируется .rc файл — скрипт который уже поступает на вход компилятора ресурсов, на выходе который возвращает .res файл. .res файл будет содержать VersionInfo и информацию об иконки исполняемого файла. При компиляции dcc( Delphi Pascal Compiler) включает ресурсы в исполняемое приложение (если они указаны в модулях {$R *.res}). Некоторые настройки могут перекрываться .cfg файлом. cfg файл создается при каждом сохранение проекта из IDE. Dcc проверяет наличие .cfg файла c именем совпадающем с названием проекта и если файл обнаружен использует настройки из него при компиляции. В своем проекте Finalbuilder’а я удаляю перед сборкой этот файл.
Вернемся к нашим баранам, .dof файл в действительности имеет формат ini файла. А для работы с ini файлами в FinalBuilder есть действия (action) «Read Ini File» и «Write Ini File». С помощью их мы можем прочесть любые значения из VersionInfo, Version Info Keys (и других) и записать обратно до вызова dcc.
Пример настройки действия чтения MajorVer значения. |
Но что бы такая схема заработало неодходимо в действие Build Delphi Win32 Project на закладке Project отменить «Load Settings from project File» и «Version Info»:
В этом случае при сборке будет использоваться .dof файл.
Ответить
Хотите присоединиться к обсуждению?Не стесняйтесь вносить свой вклад!