OTA Delphi: есть ли способ получить активную конфигурацию во время сборки (D2010)? - PullRequest
3 голосов
/ 12 апреля 2010

Я могу попросить Delphi собрать все конфигурации одновременно - щелкнув «Построить конфигурации» и вызвав команду «Создать»:

Сборка всех конфессий http://ftpmerou.free.fr/delphi/mutiple-config-build.png

Это создаст все конфигурации, одну за другой.

Проблема в том, что у нас есть эксперт по IDE, который должен реагировать на события компиляции. Мы регистрируем IOTAIDENotifier80 для перехвата событий. Есть события BeforeBuild и AfterBuild - мы заинтересованы в них. IOTAProject передается каждому событию.

Проблема в том, что активная конфигурация никогда не изменяется. То есть если выбрана конфигурация «Отладка» (выделена жирным шрифтом) - все вызовы событий BeforeBuild / AfterBuild будут возвращать профиль конфигурации отладки (даже если IDE компилирует разные профили один за другим). Я имею в виду свойства IOTAP-проекта здесь.

Я также пытался использовать IOTAProjectOptionsConfigurations, но его свойство ActiveConfiguration всегда возвращает один и тот же «выделенный» профиль, независимо от текущего скомпилированного профиля.

Вопрос: есть ли способ получить «реальный» текущий профиль?

1 Ответ

1 голос
/ 06 июня 2010

Это не совсем ответ на проблему. Это работа вокруг.

Это не отличный вариант, но вот что я делаю. У меня есть небольшая утилита командной строки для редактирования файлов XML, где я передаю XPath, новое значение и имя файла. Я использую это, чтобы изменить файл .dproj. Это позволяет мне настроить активную конфигурацию на отладку, выпуск и т. Д. После изменения файла я вызываю bds.exe с соответствующей командной строкой, переключаемой для компиляции активной конфигурации. Хотя это не так удобно, как щелчок правой кнопкой мыши и выбор «make», после его настройки это так же просто, как запустить пакет.

Я не проверял, как это взаимодействует с IDE Expert, но вы можете легко проверить, будет ли этот план работать для вас, изменив файл .dproj вручную. Как только вы узнаете, будет ли это работать для вас, вы можете создать пакетный и XML-редактор, если это необходимо.

...