//这代码Delphi7下能正常显示出vp的字符串。
//delphi xe下就不能了,因为xe是以unicode处理的。
//主要是如何得到xe下一个string的内存占用长度?而不是字符串长度!procedure TForm1.Button1Click(Sender: TObject);
var
  str: string;
  vi: DWORD;
  vp: Pointer;
begin
  str:= '徐师傅';
  vi := lstrlen(PChar(str));
  ShowMessage(IntToStr(vi));
  ShowMessage(IntToStr(Length(str)));
  ShowMessage(str);
  GetMem(vp, vi);
  ZeroMemory(vp, vi);
  MoveMemory(vp, PChar(str), vi );
  ShowMessage(PChar(vp));
end;