我需要在 Delphi 7 中包装一些遗留代码以在 Delphi XE2 中使用。我的问题似乎很简单,但我尝试了所有能找到的例子,但都失败了。基本上,我需要能够在 D7 和 DXE2 之间传递字符串,据我所知,最安全的方法是使用 pchar(因为我不想发送 borlandmm dll)。所以用D7编写的DLL,由Delphi XE2调用
我的界面需要
在我的 DLL 中:
function d7zipFile(pFatFile,pThinFile : PChar) : integer; stdCall;
function d7unzipfile(pThinFile,pFatFile : PChar) : integer; stdCall;
我需要在 unzipfile 函数中传回 pFatFile 名称。
在我的调用代码中:
function d7zipFile(pFatFile,pThinFile : PChar) : integer; external 'd7b64zip.dll';
function d7unzipfile(pThinFile,pFatFile : PChar) : integer; external 'd7b64zip.dll';
有人可以协助实施这些的最佳方法吗?
显然,我不是在寻找实际的 zip/unzip code - 我在 D7 中可以正常工作。我想知道如何声明和使用字符串/ pchar 参数,因为我尝试的各种类型(PWideChar、WideString、ShortString 等)都会出错。
所以我很高兴能够简单地在 d7zipFile 函数中为两个文件名做一个 showMessage 。然后能够在 delphiXE2 中对 pFatFile 变量执行 showMessage,这意味着字符串双向都可以吗?