Danke für eure Tipps.
Habe es jetzt so gelöst:
Delphi-Quellcode:
type
TItem<T> = class
private
FID: integer
FData: T;
FNext: TItem<T>;
public
constructor Create(AID: integer; AData: T);
property ID: integer read FID;
property Data: T read FData;
property Next: TItem<T> read FNext write FNext;
end;
TItemList<T> = class
type
TListItem = TItem<T>;
private
FFirst: TListItem;
FLast: TListItem;
{...}
Damit kann ich bequem weiterarbeiten.