var
intValue: Integer;
buf: PChar
begin
..
GetMem(buf, 2);
..
Move(buf^, intValue, 2); //这里对不对,有没有问题
end;
请问题Move(buf^, intValue, 2);合法吗,会不会出现内存错误,请高手指教
intValue: Integer;
buf: PChar
begin
..
GetMem(buf, 2);
..
Move(buf^, intValue, 2); //这里对不对,有没有问题
end;
请问题Move(buf^, intValue, 2);合法吗,会不会出现内存错误,请高手指教
解决方案 »
- 很简单 的一段代码,就是不知道哪有错误,帮帮忙了
- 怎么才能使dbgrid显示memo类型的字段呢???????在线等???!!!
- 能不能通过api读去并口状态值呢(NT/2000下)
- 奇怪的问题
- 请教全局变量
- 怎样在Delphi中编程实现对Win98“开始”菜单中的“注销”用户项的隐藏?(100分)
- 请问两个RICHEDIT中如何保持相同状态?
- 请问在DBgrid中,如何让总计这一条记录始终位于表格可视区的最后一行。
- 关于 VCLZIP
- 实现双机热备份,是不是还要改动软件结构?
- 有关socket通信问题
- dll的DBGrid问题 出现 control ‘rzPageControl1’has no parent windows
buf无内容,怎么可以覆给intValue,而且一个Integer要四个byte
你这样做的结果是把BUFF中的两个字节的内容放入了低端的二个字节中,高端的两个字节的值为0(如果你没有初始化,就不定了,初始化:INTVALUE:=0;)
Move(buf^, intValue, 4);//这是最大的字节COPY数量了.
事实上,MOVE函数是按字节进行字节COPY,一个INTEGER变量是四字节的空间可以使用的.