文字列を返す関数を含む C で記述された従来の DLL があり、Delphi からこの関数にアクセスする必要があります。DLL について私が持っている唯一の情報は、関数にアクセスするための VB 宣言です。
Public Declare Function 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 がクラッシュします。私は途方に暮れています。
助言がありますか ?