3

私は人々が彼らのTリストを次のように宣言しているのを見ます

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 <>

私はそこで何が間違っているのですか?

4

1 に答える 1

15

これらの人々は一般的なリストを使用しています。 TList<T>はTListの汎用バージョンであり、Generics.Collectionsではなくユニットで宣言されます。Classesここで、TListはです。使用リストに追加すれGenerics.Collectionsば、問題ないはずです。

于 2011-04-08T23:42:50.843 に答える