加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 如果“Assigned()”无法执行,如何检测“悬挂指针”?

发布时间:2020-12-15 04:28:42 所属栏目:大数据 来源:网络整理
导读:在另一个 question中,我发现Assigned()函数与Pointer零.一直以来,我的理解是Assigned()正在检测这些悬挂的指针,但现在我已经学会了.悬挂指针是可能在某一点创建的指针,但是自从被释放并且尚未分配到零. 如果Assigned()无法检测到悬挂指针,那么可以呢?我想检
在另一个 question中,我发现Assigned()函数与Pointer&零.一直以来,我的理解是Assigned()正在检测这些悬挂的指针,但现在我已经学会了.悬挂指针是可能在某一点创建的指针,但是自从被释放并且尚未分配到零.

如果Assigned()无法检测到悬挂指针,那么可以呢?我想检查我的对象,以确保它真的是一个有效的创建对象,然后再尝试使用它.我不使用FreeAndNil,因为我很喜欢直接.我只是使用SomeObject.Free.

访问违规是我最大的敌人 – 我尽我所能防止他们的出现.

解决方法

如果范围中有一个对象变量,它可能是也可能不是一个有效的引用,那么FreeAndNil就是你应该使用的.这样或修复你的代码,以便您的对象引用被更加严格的管理,所以它永远不会是一个问题.

访问违规不应被视为敌人.它们是错误:它们意味着你犯了一个需要修复的错误. (或者你依赖的一些代码中有一个错误,但是我经常发现我是一个搞砸的人,特别是在处理RTL,VCL或Win32 API时).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读