如何判断指针指向的对象已经释放(5分)

  • 主题发起人 主题发起人 yyw
  • 开始时间 开始时间
Y

yyw

Unregistered / Unconfirmed
GUEST, unregistred user!
我在TlistView对象中的item[0].data中保存了一个Form对象的指针,
现在我把Form释放了,但是item[0].data还是指向一个地址,而不是Nil.
请问我如何知道item[0].data指向的区域已经释放?
倾家荡产提问,就5分了,
谢谢
 
看帮助TRegisty.
 
无法理解,
 
好像没有办法判断的,以前曾经看一片文章上讲过,delphi的内存自己管理,
用API
IsBadCodePtr()
IsBadReadPtr()
判断总是可以通过,delphi好像在自己管理内存,delphi没有提供相关的方法来判断,
所以没办法,用freeAndNil方法来释放,会减少这种错误发生的概率
 
蒙难:
想要判断是否已经释放,就看看它的指向是否为空就可以了,若要释放空间,把
nil赋给指针就可以了
 
思路如下:
if not(form1=nil) then
begin
form1.free
form1:=nil
end
else
Showmessage('ok');
 
后退
顶部