私のアプリケーションはDelphi 2010でコンパイルされています。そのアプリケーションは、Delphi 2010コンパイル済みDLLをロードするDelphi 7コンパイル済みDLLをロードします。Delphi 2010アプリケーションDelphi 7 DLLをロード
D2010 app LOADS D7 DLL LOADS D2010 DLL
D7 DLLのエクスポートされた関数は、Widestrings
使用とDelphi 2010 DLL使用strings
のエクスポート機能。
Delphi 2010のstrings
はUnicode(2バイト)で、Delphi 7ではAnsi(1バイト)です。
私のすべてのテストでは、そうしてはいけないという事実にもかかわらず、それが働いていることがわかりました。私は不思議に思っています:
どうしてですか?
何が問題になりますか?
どのメモリマネージャ、私が使用する必要があります(デルファイ2010またはDelphi 7のメモリマネージャDLL)
これは問題ですか? ;-) – Pol
@Pol no、それはありません。私はそれがなぜ機能するのか理解しようとしています。 –
質問にはお答えできませんが、両方でWideStringを使用することができます。徹底的な答えのために+1 – Pol