Delphi 2010 プロジェクトのいずれかのインクリメンタル コンパイル (ctrl-F9) を実行するたびに、プロジェクトで参照されているすべての JEDI ユニットが、まったく変更されていないにもかかわらず再コンパイルされていることに気付きました。実際、新しいプロジェクトを作成し、JEDI コントロールをフォームにドロップしてコンパイルすると、すべての JEDI 依存関係が再コンパイルされます。プロジェクトに変更を加えずに ctrl-F9 をもう一度押したとしたら、同じことが起こります。
誰がこれを引き起こしているのか知っていますか?
更新:この問題は、システムのサブディレクトリ jvcl\run に関連しているようです。このフォルダー内のすべてのユニットは、Delphi コンパイルを行うたびに再コンパイルされます (プロジェクト ソースに触れなくても)。コンパイル済みの dcus が jvcl\lib\d14 に既に存在している場合でも、コンパイルされた dcus は、コンパイルのたびにこのサブディレクトリに取得され、残されます。ライブラリ パスに jvcl\run がありません。
さらに、jvcl\run ディレクトリをハードディスクの別の場所に移動すると、プロジェクトは正常にコンパイルおよびリンクされ、おそらく jvcl\lib\d14 (パス上) で dcus が検出されます。