//这代码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;
//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;
解决方案 »
- DELPHI 模拟鼠标点击问题,使用绝对坐标
- [DBNETLIB][ConnectionOpen (Connect()).]未找到指定的sql server。
- 获得程序当前的焦点的消息,紧急啊
- 手机同步软件pclink中那个从一张图中截取其中一部分的矩形框是如何做出来的
- 为什么系统说我missing connection or connection string
- 怎么得到SendText的原文?不指望有人会~
- 有关对dbgrid的中查询的问题
- 如何在数据库中随机取1000条记录!!60分相送
- 急! 如何关闭运行SQL时的砂漏CURSOR,或如何使控件根据数据库中的数值实时变化。
- 这样的窗口怎么移动?
- 求delphi资源管理器程序
- 再发一贴 delphi 如何用DirectDraw开发视频采集程序 ?
后面也一样
以两个0(两个字节)结束,