我看到人们声称他们的TList喜欢
MyList : TList<PSomeType>;
然后,当他们创建它时,他们会
MyList := TList<PSomeType>.Create;
所以我认为,通过这样做,他们不会在他们使用时必须对MyList.Items [I]进行类型转换,例如:
ShowMessage( PSomeType(MyList.Items[I]).SomeTextProperty );
所以相反他们只会做
ShowMessage( MyList.Items[I].SomeTextProperty );
这是对的吗?
如果是这样,为什么我不能让它在Delphi 2010中运行?我正在尝试 - 将我的列表声明为
MyList : TList<PSomeType>;
但是编译器说:
未声明的标识符:TList&lt;&gt;
我在那里做错了什么?
答案 0 :(得分:14)
这些人正在使用通用列表。 TList<T>
是TList的通用版本,它在单元Generics.Collections
中声明,而不是在Classes
中声明TList
。 <{1}}添加到您的使用列表中,您应该没问题。