Delphi XE строить события.. глобально?
Начнем много использовать из системы событий построения в XE, но я заметил, что я не могу настроить события построения по умолчанию в настройках проекта по умолчанию. Есть ли какой-нибудь способ обхода/взлома/что бы это сделало возможным? Я смотрю CodeGear.Group.Targets и CodeGear.Delphi.Targets в каталоге bin, если это даже выполнимо, будет ли это там, где я должен искать?
Спасибо
Ответы
Ответ 1
Ага. Ответил на мой вопрос. (Есть где-то кнопка удаления? Lol)
Я немного экспериментировал, добавил некоторые из них, чтобы найти события до и после сборки (а именно, запуск редактора реестра и блокнота).
В каталоге Delphi bin есть файл CodeGear.Delphi.Targets. Внутри этого, после разделов импорта, я добавил:
<PropertyGroup>
<PreBuildEvent><![CDATA[regedit.exe]]></PreBuildEvent>
<PostBuildEvent><![CDATA[notepad.exe $(MSBuildProjectFile)]]></PostBuildEvent>
</PropertyGroup>
Перезагрузили среду IDE, а новый пустой проект выполнил эти программы для предварительной и пост-сборки. Обратите внимание, что они не отображаются на экране конфигурации проекта, но вы можете переопределить их, отрицая все, что было помещено в файл CodeGear.Delphi.Targets. Дешево, но, похоже, это трюк, и вы все равно можете переопределить его, если необходимо, в конкретном проекте. (Просто обязательно верните исходный файл, конечно.)
Ответ 2
@Йен Смит: Очень умно. И в случае, если кому-то интересно, я теперь использовал вашу идею, чтобы получить madExcept, чтобы исправить двоичный exe как часть сборки командной строки без необходимости настраивать конкретный проект..:
Поместите это после раздела "Импорт" в CodeGear.Delphi.Targets..
<PropertyGroup>
<PostBuildEvent><![CDATA["$(programFilesx86)\madCollection\madExcept\Tools\madExceptPatch.exe" "$(DCC_ExeOutput)$(MSBuildProjectName).exe" "$(MSBuildProjectDirectory)\$(MSBuildProjectName).mes"]]></PostBuildEvent>
</PropertyGroup>