关于使用指针正确读写数据的问题。
RT.
在使用指针读取数据必须判断是否有效。
如:
var
adr,val:dword;
begin
...
...
中间操作过ADR。现在要读取 ADR 指向的值。
val:=Pdword(adr)^;
如果直接使用。当ADR为空或者 adr 为一个不存在的地址时。就会出错。
搜索过网上很多的文章。里面的代码都不行。
[解决办法]
不知道你想问什么,当ADR为空或者 adr 为一个不存在的地址时,只要你访问ADR肯定会出错,这是正常情况啊。
[解决办法]
你想说明啥问题,仅仅判断指针为空,这个很不安全,因为有可能一个指针不为空,但他已经是被废弃的指针,访问依然可能存在危险,你要做的就是,保证你的指针位置正确,读取长度不越界