複数バージョンが共存する環境で、borlndmm.dllに関連するエラーが発生することがある
問題
同一PC内に複数のDelphi/C++Builderをインストールし、共存させて利用しています。
(例えば、旧バージョンのプロジェクトを移行するため、Delphi 10.3、Delphi 10.4、Delphi 11.0を同一PCにインストール)
上記のような環境下で、Delphi 10.3のプロジェクトをビルドし、プログラムを実行するとborlndmm.dllに関連するエラーが発生することがあります。
解決
Delphi/C++Builderの各バージョンごとに、borlndmm.dllという同じ名前のファイルがインストールされています。
(例えば、同じborlndmm.dllというファイル名であっても、それぞれ10.2用、10.3用、11.0用といった具合に 共有はできないため、ファイルのタイムスタンプなどで区別が必要です)
borlndmm.dllというファイル名にバージョンが記載されていないモジュールが同一PC内で混在すると、予期せぬエラーが発生することがあります。
borlndmm.dllが複数存在するかどうかは、ご利用のPCでborlndmm.dllというファイルを検索し、このファイルが配置されているフォルダを確認してください。アプリケーション実行時にDLLをロードする順序は、MicrosoftのWindowsの仕様に準拠します。 特にシステムフォルダにborlndmm.dllが存在する場合は、ご注意ください。
原則、同一PC内の複数バージョンのDelphi/C++Builderの共存はトラブルに繋がることが多いため、上級者を除いて同一PC内の複数バージョンのDelphi/C++Builderの共存は推奨していません。
複数バージョンのDelphi/C++Builderを同時に利用される場合は、それぞれのバージョンを別々のPC、あるいは仮想環境(VM)を用意してインストールしてください。
関連情報