delphi7 string 转到 PWideChar 用于连接unicode dll调用

Posted 面朝大海,春暖花开。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi7 string 转到 PWideChar 用于连接unicode dll调用相关的知识,希望对你有一定的参考价值。

function UnicodeToAnsi(s: WideString): string;
var
lpChar: PChar;
len: integer;
begin
len := Length(s) * 2;
GetMem(lpChar, len);
ZeroMemory(lpChar, len);
WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK, PWideChar(s), Length(s), lpChar, len, nil, nil);
Result := lpChar;
FreeMem(lpChar);
end;

function AnsiToUnicode(s: string): WideString;
var
lpWideChar: PWideChar;
len: Integer;
begin
len := (Length(s) + 1) * 2;
GetMem(lpWideChar, len);
ZeroMemory(lpWideChar, len);
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, PChar(s), Length(s), lpWideChar, len);
Result := lpWideChar;
FreeMem(lpWideChar);
end;

以上是关于delphi7 string 转到 PWideChar 用于连接unicode dll调用的主要内容,如果未能解决你的问题,请参考以下文章