我有一个用 XE2 编写的 DLL,它以 PChar 作为参数(因此是一个 unicode 字符串)。我希望在 Delphi 2006 中编写一个调用此 DLL 的应用程序。这可能吗,我如何传入 PChar 参数?如果我在 Delphi XE2 中这样做,我只会这样做:
tmpString := 'hello';
DLL_Call(PChar(tmpString));
我曾尝试在 Delphi 2006 中将我的 tmpString 定义为 WideString,但我相信 WideString 和 XE2 Unicode 字符串有很大不同?
有没有办法可以将字符串正确传递给 DLL?我控制着 DLL 源代码,所以我显然可以将函数定义更改为 PAnsiChar,但我不想这样做,如果可能的话,我希望从 Delphi 2006 方面获得解决方案。