如何判断一个指针指向的地址编程无效了(100分)

  • 主题发起人 主题发起人 soddy118
  • 开始时间 开始时间
S

soddy118

Unregistered / Unconfirmed
GUEST, unregistred user!
声明一个类的实例,并把该类实例的地址赋给某指针,
然后该类的实例释放了(但无法通知给指针变量),
这时候如果访问该指针,就会有问题,我如何判断该指针已经无效。
 
pointer=nil
 
if Assigned (P) then
Writeln ('You''ll see this');
 
用Api判定
 
if isWindow(obj.handle) then
ShowMesssage('窗口有效');
 
dedema:
iswindow 的参数是handle ,无法编译
 
althon64:
用什么api?
 
迷糊 :
指针对应的对象释放了,无法通知给指针。
 
直接判断可能比较麻烦。用捕捉异常访问错误大概可以吧。
另外最好再实例释放之后马上将其指针赋空。
a.free;
a:=nil;
 
没法知道.这就是指针的危险性.
所以一般在指针所指的XXX无效时要及时把指针置空
 
你是无法知道的。
所以释放对象后必须把指针置成Nil,使用
FreeAndNil过程.
 
接受答案了.
 
后退
顶部