私のマシンには Delphi7 と DelphiXE2 (どちらも 32 ビット) がインストールされています。そして、dll 'libnodave.dll' の関数 openSocket() を使用する必要があります。
問題は、Delphi7 および D7 でコンパイルされた .exe ファイルでは、この関数がすぐに実行されて整数値が返されることですが、DelphiXE2 では 3 秒間停止し (タイムアウトだと思います)、ゼロが返されます。D7 ウィッチに一種の「proxy-dll」を書き込もうとしましたが、元の dll から内部的に同じ関数を呼び出しますが、機能しません。ここで、ローカル関数のパラメーター以外に、プログラムの実行に関する他の情報が dll に渡されることに興味があります。誰が関数を呼び出すかによって、ライブラリの動作に違いが生じる可能性があります。また、D7 コンパイラとして機能するように DelphiXE コンパイラをセットアップする方法はありますか? もう 1 つ質問があります。デバッグ中に、プログラムで定義されたすべてのグローバル パラメータ ({$DEFINE WIN32} など) を調べるにはどうすればよいですか。
アイデアをありがとう。