Ich hatte mir damals (bevor es Generics gab) z.B. mal ein solches Template für eine typensichere TObjectList geschrieben:
Dann doch lieber als .inc Datei ohne die Klassen alle hinzuschreiben... das ging auch schon bevor es Generics gab. Das sah bei mir so aus:
Delphi-Quellcode:
{$IFNDEF COMPILER_14_UP}
TTypedObjectListItem = TPosScreenElement;
{$define NoNewTypeSection}
{$include 'TypedObjectListTemplate.inc'}
TPosScreenElementList = class(TTypedObjectListTemplate)
{$ELSE}
TPosScreenElementList = class(TObjectList<TPosScreenElement>)
{$ENDIF}
Und so weiter... lief mit Delphi 5 wie mit XE.
Da die Deklarationen ansonsten bei der generischen Variante gleich waren, lief der Quelltext mit Template und echten Generics parallel.