VC动态库的Dll接口函数:
char* Exec(int iLength, char* cXMLStr);
Delphi调用申明:
Exec:function(iLength: integer; cXMLStr: pchar): pchar;stdcall;具体调用
var
sDllStr: string;
iDllLen: Integer;
pString: PChar;
begin
//执行execHis接口
if Assigned(@execHis) then
begin
//
sDllStr := '这是个测试程序';
iDllLen := Length(sDllStr);
pString := execHis(iDllLen, PChar(sDllStr));
end;
end;接口调用返回了pString看不懂的字符串,应该返回的是汉字字符串,这个该怎么转换才能得到正确的字符串?
char* Exec(int iLength, char* cXMLStr);
Delphi调用申明:
Exec:function(iLength: integer; cXMLStr: pchar): pchar;stdcall;具体调用
var
sDllStr: string;
iDllLen: Integer;
pString: PChar;
begin
//执行execHis接口
if Assigned(@execHis) then
begin
//
sDllStr := '这是个测试程序';
iDllLen := Length(sDllStr);
pString := execHis(iDllLen, PChar(sDllStr));
end;
end;接口调用返回了pString看不懂的字符串,应该返回的是汉字字符串,这个该怎么转换才能得到正确的字符串?
var
pUserInfo:array[0..96]of char;
sName:string;
ZeroMemory(@pUserInfo,97);SetLength(sName,15);
for i:=0 to 14 do
sName[i+1]:=pUserInfo[i];
Delphi调用申明:
Exec:function(iLength: integer; cXMLStr: pansichar): pansichar;stdcall;就不管哪个版本都可以