我有一个用 C 编写的遗留 DLL,其中包含一个返回字符串的函数,我需要从 Delphi 访问这个函数。我拥有的关于 DLL 的唯一信息是用于访问函数的 VB 声明:
公共声明函数 DecryptStr Lib "strlib" (Str As String) As String
我尝试了以下但没有成功:
宣言:
function DecryptStr(s: PChar): PChar; cdecl; external 'strlib.dll';
用法:
var
p1, p2 : pchar;
begin
GetMem( p1, 255 );
StrPCopy( p2, 'some string to decrypt' );
p1 := DecryptStr( p2 );
end;
这始终使 DLL 因访问冲突而崩溃。我不知所措。
有什么建议么 ?