QCからDelphi2009ユニット(発生した場合はDBClient)に修正を適用したいと思います。ユニットを別のディレクトリにコピーして、コピーに変更を加える必要があることはわかっています。次に、Delphiにそのユニットをコンパイルさせ、既存のDCUを優先して使用するにはどうすればよいですか?
3 に答える
元の .Pas ファイルを変更したくない場合は、.Pas ファイルをアプリケーション フォルダーにコピーし、ビルド プロジェクトを選択します。アプリケーション フォルダーに新しい dcu ファイルが作成されます。元のもの。
これは一種の最後の手段です (CodeGear ではサポートされていません) が、必要に応じて Mohammed と同様のことを行います。変更されたユニットをアプリケーション フォルダーに配置する代わりに、残りのライブラリ コードと共に独自のフォルダーに配置し、このフォルダーをすべてのプロジェクトで使用されるライブラリ パスに含めます。また、複数の (おそらくわずかに異なる) コピーがぶらぶらしているのを防ぎます。
また、更新をチェックして何が変更されたかを確認し、変更されたユニットを削除するか、変更を CodeGear の新しい (おそらくより優れた) ユニットに再適用できるようにします。
私はこれを自分でやったことがありませんが{RAD}\source\rtl
、バッチビルドスクリプトと一緒にプロジェクトがあります。これにより、RTL 関数の再コンパイルが容易になると思います。他のユニットは簡単に再コンパイルする必要があります。
行いたい変更がローカルであり、ユニットが他の RTL/VCL ユニットで広く使用されていない場合、最も簡単な方法は、変更されたユニットのコピーを標準の場所とは別に配置することです。
もう 1 つのオプションは、ランタイム パッチ、別名迂回です。