Warum versuchst du es nicht einfach?
Delphi-Quellcode:
uses
Generics.Collections;
var
MyList: TObjectList<TMyObjectType>;
begin
MyList := TObjectList<TMyObjectType>.Create(True);
try
MyList.Add(TMyObjectType.Create(...));
...
MyList[0]...
finally
FreeAndNil(MyList);
end;
Wobei TMyObjectType die Klasse ist, deren Objekte du reinpacken willst.