本文整理自网络,侵删。
delphi7调用delphi2009生成的dll文件会出现乱码问题。是unicode的原因
终于从爱点delphi中找到了转换函数
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;
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;
相关阅读 >>
Delphi hbp-1100u 欧姆龙血压计的usb调用方法
incyear:将一个tdatetime变量加减一定数量的年数
Delphi 10.3.3 启动cnpack ide 专家 cnwizards coreide260.bpl错误解决办法
Delphi 任务栏显示进度条 createcomobject(clsid_taskbarlist) as itaskbarlist4
更多相关阅读请进入《Delphi》频道 >>