WideCharToMultiByte оно то вроде то, но!! результат выполнения очевидно не тот что нужно.
Однако MultiByteToWideChar работает как надо.
Может я с длиной что-то путаю - НО проблема все таки не исчезла
и например используя
Код:
function PWideToString(pw: PWideChar): string;
var
p: PChar;
iLen: integer;
begin
iLen := lstrlenw(pw) + 1;
GetMem(p, iLen);
WideCharToMultiByte(CP_ACP, 0, pw, iLen, p, iLen * 2, nil, nil);
Result := p;
FreeMem(p, iLen);
end;
результат не верен ? Возвращается тот же текст что и был принят в pw