P1:Pointer;
P2:Pointer;
怎么把P1赋值给P2,然后把P1释放掉
P2:Pointer;
怎么把P1赋值给P2,然后把P1释放掉
解决方案 »
- 在delphi中怎么使用DWGDirectX 读取dwg文件的图像坐标?
- 在SQL中使用正常的查询语句,在Access数据库中使用报错。字段内容都一样。
- 怎么用ODAC通过80端口访问ORACLE9I数据库?请高手指点!
- 把数个图形文件合并成GIF文件,想幻灯片一样播放
- Delphi里怎么使用正则表达式
- 关于dll的小问题
- Q1xp 开发版问世,您可以轻松编写自己的ICQ/OICQ系统了。
- 请问如何在改变窗体时,可以时各种控件的位置等倍放大
- *******************小弟初学DELPHI,请问在方法后加^是什么意思?*************
- 请问在连接SQL 时如何越过登路对话框?
- 请大侠帮忙,关于delphi7 SQL的数据表数据插入insert问题
- dll 中使用ADOQuery 访问数据库,出错,错在那里?再帮看看
如果没被再分配,你通过P2怎么读写都没事的;
如果被再分配了,你通过P2读来的值可能是被别的代码修改过的;写了,就会导致别的代码出现莫名其妙的情况。再问,你还需要“怎么把P1赋值给P2,然后把P1释放掉”吗?
move(p1^,p2^,SizeOf(p1));
貌似不行
move(p1^,p2^,SizeOf(p1));
貌似不行
showmessage(inttostr(sizeof(p1)));
P1:Pointer;
P2:Pointer;
s:PChar;
begin
s:='abc';
P1:=s;
GetMem(P2,SizeOf(P1));
Move(P1^,P2^,SizeOf(P1));
ShowMessage(PChar(p2));
P1:Pointer;
P2:Pointer;
s:byte;
begin
s:=200;
P1:=Pointer(@s);
GetMem(P2,SizeOf(P1));
Move(P1^,P2^,SizeOf(P1));
ShowMessage(IntToStr(byte(p2^)));
end;