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

前端之家收集整理的这篇文章主要介绍了delphi – 如果“Assigned()”无法执行,如何检测“悬挂指针”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在另一个 question中,我发现Assigned()函数与Pointer&零.一直以来,我的理解是Assigned()正在检测这些悬挂的指针,但现在我已经学会了.悬挂指针是可能在某一点创建的指针,但是自从被释放并且尚未分配到零.

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

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

解决方法

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

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

原文链接:https://www.f2er.com/delphi/101369.html

猜你在找的Delphi相关文章