Thema: Delphi TStringList AddObjects

Einzelnen Beitrag anzeigen

Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: TStringList AddObjects

  Alt 13. Mai 2004, 14:09
Zitat von MrSpock:
Hallo DP Gemeinde,

ich habe gerade einmal einen Test gemacht und war über das Ergebnis überrascht, vielleicht deswegen, weil ich bisher etwas falsch verstanden habe?

Ich habe zwei StringListen erzeugt. Anschließend erzeuge ich 1000 Objekte (TLabel) und weise sie mit AddObjects sowohl der StringList1 als auch der StringList2 zu. Anschließend lösche ich alle Objekte der StringList1 in dem ich explizit StringList1.Objects[i].Free für alle i's aufrufe. Wenn ich jetzt auf das Object über Stringlist2 zugreife, funktioniert das ohne Fehler! Ich dachte, dass die Objekte nur als Verweise gespeichert werden. Stimmt das nicht?


Eigentlich ist das zu erwarten, da du ja nur einen Verweis und nicht das Objekt in die StringListe Kopierst.

mit dem StringList1.Objects[i].Free zerstörst du das TLabel Objekt in deinem Fall. Damit zeigt der entsprechende Verweis von Stringlist2 natürlich auf ein nicht mehr existierendes Objekt.
Günter
  Mit Zitat antworten Zitat