2009-12-10 29 views
2

我试图做到这一点:通用集装箱在Delphi

FindSenderIndex功能(仍然实现它)将返回该项目的索引,其中,ASender配衬与MyObj中[1]。发件人。但编译时我得到这个错误信息:"E2086 Type 'TList<T>' is not yet completely defined"

我在做什么坏事?提前致谢。

Pdta:可否给我一些关于如何使用对象容器的示例(TObjectList<T:class>=class(TList<T>))

+0

我可以问你为什么在这里使用班级助手吗?为什么不这样做: TRecList = class(TList Nat 2009-12-10 04:15:01

+0

你是对的,我做到了,我只是和助手一起玩。 :) – 2009-12-10 06:28:58

回答

5

这看起来像编译器中的错误。我能够在德尔福2010年重现这一点。请在QC中报告。

尽管解决方法很简单。声明

TRecList = class(TList<TItemRec>); 

取而代之,它的工作原理。

至于TObjectList<T>,它与TList<T>完全一样,只是它只接受对象,并添加了OwnsObjects属性。如果OwnsObjects设置为True,那么当您释放列表或调用ClearDelete方法时,它将释放从列表中移除的所有对象。