修正したソースコード(.pas)をDelphiプロジェクトに適用させる方法
解説
Delphi/C++Builderでは、VCLやFireMonkey等のライブラリのソースコードを提供しています。
もしVCLやFireMonkeyのライブラリに不具合が発生している場合は、開発者自身で該当するソースコードを修正し、プロジェクトにパッチコードを組み込んで適用することができます。
ライブラリのソースコードは、<製品のインストールフォルダ>¥source以下に配置されています。
<製品のインストールフォルダ>は、製品のバージョンによってパスが異なります。
例えば、各バージョンのデフォルトパスは、以下の通りです。
- 10.4の場合:
- C:\Program Files (x86)\Embarcadero\Studio\21.0
- 10.3の場合:
- C:\Program Files (x86)\Embarcadero\Studio\20.0
- 10.2の場合:
- C:\Program Files (x86)\Embarcadero\Studio\19.0
以下、修正したソースコード(.pas)をDelphiプロジェクトに適用させる手順を説明いたします。
不具合が生じているライブラリによって修正対象となるソースコードが異なりますが、ここでは、例としてVcl.StdCtrls.pasファイルの修正を行います。
- <製品のインストールフォルダ>$(BDS)¥source¥vcl¥Vcl.StdCtrls.pasを自身のプロジェクトフォルダへコピーしてください。
- Vcl.StdCtrls.pasをエディタで開いて、該当箇所のコードを修正します。
- Vcl.StdCtrls.pasの修正後、ファイルを保存してください。
- IDEのプロジェクトマネージャで、修正済みのVcl.StdCtrls.pasを自身のプロジェクトに追加してください。(下図はWindows 64ビットターゲットで、Debugビルドの場合)
- プロジェクトをビルドしてください。
- バイナリファイルが生成されるフォルダ内に修正したソースコードのオブジェクトファイル(ここでは、Vcl.StdCtrls.dcu)が作成されているか確認ください。(下図は、Win64¥Debugフォルダ以下に生成されています。)
.dcuファイルが作成されていれば、EXEファイルにパッチコードが組み込まれております。
<<注意点>>
修正したパッチコードは、[プロジェクト]-[オプション]-[パッケージ]-[実行時パッケージ]-[実行時パッケージを使ってリンク]がfalseに設定していなければ適用はされません。
(Delphiプロジェクトのデフォルトは、false)
なお、Delphi Community Editionの利用の場合は、制限があり、ソースコードの修正はできません。
詳しくは、こちらの「ライブラリのソースコード」の項目を参照してください。