Einzelnen Beitrag anzeigen

KrasserChecker

Registriert seit: 21. Jul 2004
120 Beiträge
 
#6

Re: TList und record: Auf Variablen zugreifen

  Alt 6. Sep 2006, 18:01
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;
  Mit Zitat antworten Zitat