OTA Delphi: есть ли способ получить активную конфигурацию во время сборки (D2010)?
Я могу попросить Delphi собрать все конфигурации одновременно - щелкнув "Построить конфигурации" и вызвав команду "Создать":
http://ftpmerou.free.fr/delphi/mutiple-config-build.png
Это создаст все конфигурации, одну за другой.
Проблема в том, что у нас есть эксперт по IDE, который должен реагировать на события компиляции. Мы регистрируем IOTAIDENotifier80 для перехвата событий. Есть события BeforeBuild и AfterBuild - мы заинтересованы в них. IOTAProject передается каждому событию.
Проблема в том, что активная конфигурация никогда не изменяется. Т.е. если у вас выбрана конфигурация "Отладка" (выделена жирным шрифтом) - все вызовы событий BeforeBuild/AfterBuild будут возвращать профиль конфигурации отладки (даже если IDE компилирует разные профили один за другим). Я имею в виду свойства IOTAP-проекта здесь.
Я также пытался использовать IOTAProjectOptionsConfigurations, но его свойство ActiveConfiguration всегда возвращает один и тот же "выделенный" профиль, независимо от текущего скомпилированного профиля.
Вопрос: есть ли способ получить "реальный" текущий профиль?
1 ответ
Это не совсем ответ на проблему. Это работа вокруг.
Это не лучший вариант, но вот что я делаю. У меня есть небольшая утилита командной строки для редактирования файлов XML, где я передаю XPath, новое значение и имя файла. Я использую это для изменения файла.dproj. Это позволяет мне настроить активную конфигурацию на отладку, выпуск и т. Д. После изменения файла я вызываю bds.exe с соответствующей командной строкой, переключенной для компиляции активной конфигурации. Хотя это не так удобно, как щелчок правой кнопкой мыши и выбор "make", после его настройки это так же просто, как запустить пакет.
Я не проверял, как это взаимодействует с IDE Expert, но вы можете легко проверить, будет ли этот план работать для вас, изменив файл.dproj вручную. Как только вы узнаете, будет ли это работать для вас, вы можете создать пакетный и XML-редактор, если это необходимо.