文件名称:VSoft.WeakReferences:德尔福的弱引用
文件大小:59KB
文件格式:ZIP
更新时间:2024-05-30 14:40:09
delphi pascal weak-references dpmpackage Pascal
VSoft.WeakReference 该单元背后的思想是提供与Delphi中引用计数对象类似的生命周期,就像WeakReference在.NET中一样。 当涉及循环引用时,delphi中引用计数的对象有一些限制,例如TParent引用它的子对象(通过IChild),而TChild引用它的父对象(通过IParent)。 如果我们在没有先让孩子删除对IParent的引用的情况下删除了对IParent和IChild实例的任何外部引用,我们最终将得到孤立的对象。 这是因为我们的IChild和IParent实例相互保持引用,因此它们永远不会被释放。 用法 可以弱引用的类需要从TWeakReferencedObject 。 type TParent = class(TWeakReferencedObject, IParent) ... end; TChild =
【文件预览】:
VSoft.WeakReferences-master
----.gitignore(523B)
----src()
--------VSoft.WeakReference.pas(10KB)
--------VSoft.inc(8KB)
----VSoft.WeakReference.dspec(2KB)
----packages()
--------RAD Studio 10.4 Sydney()
--------RAD Studio XE8()
--------RAD Studio XE6()
--------RAD Studio 10.0 Seattle()
--------RAD Studio 10.1 Berlin()
--------RAD Studio XE3()
--------RAD Studio XE5()
--------RAD Studio 10.3 Rio()
--------RAD Studio XE2()
--------RAD Studio XE4()
--------RAD Studio 10.2 Tokyo()
--------RAD Studio XE7()
----README.md(2KB)
----Tests()
--------Delphi_WeakReferencesTests.dproj(9KB)
--------VSoft.Tests.WeakReference.UseCases.pas(2KB)
--------VSoft.Tests.Classhelpers.Assert.pas(2KB)
--------VSoft.Tests.Behaviour.UseCases.pas(5KB)
--------VSoft.Tests.WeakReference.pas(6KB)
--------VSoft.Tests.Lifecycle.pas(3KB)
--------Delphi_WeakReferencesTests.dpr(1KB)
--------VSoft.Tests.Behaviour.pas(11KB)
----.gitattributes(411B)