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>