C++BuilderでビルドしたTIdHTTPを含むアプリをmacOS上で実行すると、AccessViolationが発生する
対象となるIDE製品
- C++Builder 10 Seattle
- C++Builder 10.1 Berlin
概要
以下の条件を満たした際、アプリ実行時にAccessViolationが発生することがあります。
- C++Builderでアプリを構築
- IndyコンポーネントであるTIdHTTPを利用
- [プロジェクト]-[オプション]-[パッケージ]-[実行時パッケージ]の「実行時パッケージを使ってリンク」をFalseに設定
- macOS上でアプリを実行
対処
本症状は、C++Builderでアプリを構築した際のIndy固有の問題で、既に不具合として報告済みですが、10.2 Tokyoのリリース時点では、まだ改善されておりません。
(なお、Delphiでアプリを構築した場合は、本症状は発生しません。)
そのため、大変ご不便をおかけいたしますが、以下のいずれかの方法で対処ください。
- TIdHTTPの利用時は、[プロジェクト]-[オプション]-[パッケージ]-[実行時パッケージ]の「実行時パッケージを使ってリンク」をTrueに設定する
- 「実行時パッケージを使ってリンク」をFalseに設定したい場合は、TIdHTTPではなく、XE8以降のバージョンで利用可能なTNetHTTPClientを利用する