Einzelnen Beitrag anzeigen

Antigo

Registriert seit: 14. Mär 2005
274 Beiträge
 
#1

TObjectlist, wie funktioniet sie wirklich?

  Alt 3. Jan 2007, 21:16
Hi,
Ich habe schon öfters die TObjectlist benutzt um eine Vielzahl Objekte vom selben Typ zu verwalten, da sie einfach angenehmer als ein Array ist, alleine durch Insert und delete.

Aber, was macht sie wirklich, und wie bediene ich sie richtig?

Ich weiss, das Objekte nur Zeiger auf einen Speicherbereich sind, und man sie deshalb auch nicht ohne weiteres kopieren kann ala objekt1:=objekt2 da dann objekt1 nur auf Objekt2 zeigen würde und eine Änderung in einem der beiden würde daher beides betreffen.

So nun möchte ich gerne eine ganze Menge Objekte in der TObjectlist speichern. Folgendes funktioniert aber beispielsweise nicht.

Delphi-Quellcode:
  //Pseudocode
  var Objekt: TObjekt;
   liste:TObjectlist;
  begin
    TObjekt:=TObjekt.create('Test1');
    liste.add(TObjekt);
    TObjekt:=TObjekt.create('Test2');
    liste.add(TObject);
  end;
In beiden Elementen der Liste würde nun Test2 stehen.

Ist es daher richtig zu sagen, in einer TObjectlist werden nur Zeiger gespeichert? Wenn ja wie befülle ich dann am elegantesten eine TObjectlist mit vielen Elementen in einer einzelnen Prozedur. Wenn ich jedesmal nur ein Objekt reinspeichere funktioniert es, da die lokale temporäre Variable scheinbar bei jedem Aufruf eine andere Speicheradresse hat auf die ich dann über die TObjectlist zugreifen kann.

Aber ich schreibe eigentlich zuviel. Kann mir jemand erklären wie das ganze mit der TObjectlist funktioniert, also wie ich Objekte am besten lade und speichere, oder mir einen link geben wo die funktionsweise und das was dahinter steckt beschrieben wird?


Vielen Dank schonmal
Michael
"How should I know if it works? That's what beta testers are for. I only coded it."
  Mit Zitat antworten Zitat