Wie bereits geschrieben
verwaltet TObjectList die enthaltenen Objekte. D.h., dass sie beim Freigeben alle enthaltenen Objekte mit freigibt. Du brauchat (und darfst) die Objekte vom Typ "TFeedItem" NICHT selbst freigeben (wenn sie einmal in der TObjectList enthalten sind).
Die Methode von oben würde wie folgt aussehen:
Delphi-Quellcode:
var
Item: TFeedItem;
begin
Item := TFeedItem.Create;
Item.Title := 'sdfsdf';
FeedItemClass.AddItem(Item);
end;
Außerdem würde ich die Methode "SetItem" entfernen, da Du dir mit soetwas evt. die Zeiger auf ein bereits vorhandenes Objekt überschreibst. Dessen Speicherbereich ist dann "vergessen" und vor allem: verloren.
Die Methode "GetItem" sieht natürlich so aus:
Delphi-Quellcode:
function TFeedItemClass.GetItem(Index: Integer): TFeedItem;
begin
Result := FItems[Index] as TFeedItem;
end;