Delphi2009から実装されたGenericsを見てみます
まず、VCLアプリケーションを作成し、下記コードを入力します。
Generics.CollectionsユニットをUsesします。
TListの宣言が少し違うことに注意。
実行してみます。フォームのキャプションバーが変わることが確認できました。
従来のTListはポインタを積むことしかできませんでしたが、Delphi2009では定義時に宣言した型の値を積むことができます。
また、取り出しの際にも定義時に宣言した型で直接取り出せます。(Forma1.Caption:=StrList[0])はコンパイルエラーとなりません。
ちなみに、このTListに数値を追加しようとするとコンパイルエラーになります。
もう少し複雑な例を見てみます。下図は、TPointを扱う例です。TListにTPointを追加できることがわかります。
実行すると下図の画面が表示されます。