gpt4 book ai didi

delphi - Delphi 中的通用容器

转载 作者:行者123 更新时间:2023-12-01 18:05:38 25 4
gpt4 key购买 nike

我正在尝试这样做:

   type
TItemRec = record
Sender : TAction;
OwnerPack : HModule;
ChildForm : TForm;
end;
TRecList = TList<TItemRec>;

THelperList = class helper for TRecList
function FindSenderIndex(ASender: TAction): Int16;
end;
var
MyObj : TRecList;

FindSenderIndex 函数(仍然实现它)将返回 ASenderMyObj[i].Sender 匹配的项的索引。但是在编译时我收到此错误消息:"E2086 Type 'TList<T>' is not yet completely defined"

我做错了什么?提前致谢。

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

最佳答案

这看起来像是编译器中的错误。我可以在 Delphi 2010 下重现这个。请在 QC 中报告。

不过,解决方法很简单。声明

TRecList = class(TList<TItemRec>);

相反,它有效。

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

关于delphi - Delphi 中的通用容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1877906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com