我的机器上安装了 Delphi7 和 DelphiXE2(均为 32 位)。我需要使用来自 dll 'libnodave.dll' 的函数 openSocket()。
问题是,在 Delphi7 和 D7 编译的 .exe 文件中,此函数会立即执行并返回一些整数值,但在 DelphiXE2 中它会停止 3 秒(我猜是超时)并返回零。我试图在 D7 中编写一种“代理 dll”,女巫在内部从原始 dll 调用相同的函数,但它不起作用。现在我很感兴趣,除了本地函数参数之外,还有哪些程序执行的其他信息传递给了 dll。根据谁调用该函数,库如何影响其行为。有没有办法将 DelphiXE 编译器设置为 D7 编译器?另一个小问题:调试时如何查看程序中定义的所有全局参数(如 {$DEFINE WIN32})。
感谢您的任何想法。