5

IDE 通知機能 ( IOTAIDENotifier80) を正常に登録したので、AfterCompile 通知を受け取ります。

プロジェクトがビルドされたのか、単にコンパイル/作成されたのかを調べることはできますか?

の実装に関するこの回答を見つけましたIOTAProjectCompileNotifierが、これは D2007 では利用できません。

その他の方法で?これは社内の専門家専用であるため、文書化されていない方法で問題ありません。

更新: バージョン情報リソースを含む外部 .rc ファイルを使用して「AutoInc ビルド番号」機能を複製するには、これが必要です。多分これは BuildEvents を介して行うことができますか? 更新されたバージョン番号を示すメッセージを IDE に記録する機能は気に入っていますが...

4

1 に答える 1

1

専門家を書いたり、IDE に接続したりすることについては何も考えていません。また、トランポリンが怖いです。そうは言っても、プロジェクト出力フォルダー内のファイルのタイムスタンプを監視することで、コンパイルとビルドの違いがわかることに気付きましたが、この違いは、コード (*.pas または *.dfm) がない場合にのみ明らかです。前回のコンパイルまたはビルド以降に変更されました。つまり、コードが変更された場合、タイムスタンプを監視しても違いはわかりません。ただし、最後のコンパイルまたはビルド以降にコードが変更されていない場合、コンパイルは exe のタイムスタンプのみを変更します (dcu タイムスタンプは変更されません)。

したがって、他のより洗練された解決策がなく、この情報がどうしても必要な場合 (つまり、コンパイルされたのかビルドされたのか) に限って、2 つの部分からなる解決策を提案できます。

パート 1. 出力フォルダーのタイムスタンプの変更を監視するプロセスを作成し、

パート 2. 仲間の開発者に、D2007 にはビルド プロセスを複雑にするバグがあることを伝えますが、このバグは 2 回コンパイルするか 2 回ビルドするだけで簡単に克服できます (または、これを自動化する方法を知っている場合は、頑張ってください)。開発者に 2 回コンパイルまたは 2 回ビルドさせることができれば、2 回目のコンパイルまたはビルド時に、2 回目のコンパイルまたはビルドで dcu のタイムスタンプが変更されたかどうかをテストすることで、それがコンパイルまたはビルドであったかどうかを推測できます。

今、私はいたずらコーナーに立って、「なぜ私なのか」と自問します. 乾杯。

于 2013-10-17T00:57:59.280 に答える