XE のビルド イベント システムを多用し始めていますが、1 つ気づいたことは、デフォルトのプロジェクト設定でデフォルトのビルド イベントを設定できないことです。これを可能にする回避策/ハック/何かがありますか? bin ディレクトリにある CodeGear.Group.Targets と CodeGear.Delphi.Targets を見ています。
ありがとう
あはは。私自身の質問に答えました。(どこかに削除ボタンある?笑)
私はいくつかの実験を行い、見つけやすいビルド前およびビルド後のイベントをいくつか追加しました (つまり、レジストリ エディターとメモ帳の起動..)
Delphi の bin ディレクトリには、CodeGear.Delphi.Targets というファイルがあります。その中で、インポートセクションの後に、次を追加しました:
<PropertyGroup>
<PreBuildEvent><![CDATA[regedit.exe]]></PreBuildEvent>
<PostBuildEvent><![CDATA[notepad.exe $(MSBuildProjectFile)]]></PostBuildEvent>
</PropertyGroup>
IDE を再起動し、新しい空のプロジェクトがビルド前およびビルド後にこれらのプログラムを実行しました。ただし、これらはプロジェクト構成画面には表示されませんが、CodeGear.Delphi.Targets ファイルに入力されたものを無効にして上書きすることができることに注意してください。安価ですが、うまくいくようで、特定のプロジェクトで必要に応じてオーバーライドできます。(もちろん、元のファイルを必ずバックアップしてください。)
@Jen Smith: とても賢い。そして、誰かが興味を持っている場合に備えて、特定のプロジェクトをカスタマイズすることなく、コマンドラインビルドの一部としてバイナリexeにパッチを当てるためにmadExceptを取得するためにあなたのアイデアを使用しました..:
これを CodeGear.Delphi.Targets の「Import」セクションの後に配置します。
<PropertyGroup>
<PostBuildEvent><![CDATA["$(programFilesx86)\madCollection\madExcept\Tools\madExceptPatch.exe" "$(DCC_ExeOutput)$(MSBuildProjectName).exe" "$(MSBuildProjectDirectory)\$(MSBuildProjectName).mes"]]></PostBuildEvent>
</PropertyGroup>