AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign TObjectList oder TList - wo ist der große Unterschied
Thema durchsuchen
Ansicht
Themen-Optionen

TObjectList oder TList - wo ist der große Unterschied

Ein Thema von dGeek · begonnen am 13. Nov 2016 · letzter Beitrag vom 14. Nov 2016
Antwort Antwort
dGeek
(Gast)

n/a Beiträge
 
#1

TObjectList oder TList - wo ist der große Unterschied

  Alt 13. Nov 2016, 20:31
Ich frage mich gerade, wo der große Unterschied in der Verwendung von TObjectList und TList liegt, wenn man Klasseninstanzen darin speichern möchte.
Bisher benutze ich immer TObjectList. Irgendwo habe ich aber mal gelesen, dass man für so etwas Triviales wie Klasseninstanzen eine normale TList nehmen sollte.

Wisst ihr da mehr?
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TObjectList oder TList - wo ist der große Unterschied

  Alt 13. Nov 2016, 21:07
TObjectList verwaltet direkt Objekte und keine Integer.
Du musst also Einträge später nicht selbst wieder in ein TObject casten.

Du kannst mit OwnObjects auch einstellen, dass die Liste Eigentümer der Objekte ist, wodurch ein Objekt beim Löschen aus der Liste gleichzeitig freigegeben wird.

Wenn Du Objekte speichern willst ist eine TObjectList schon sinnvoll.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#3

AW: TObjectList oder TList - wo ist der große Unterschied

  Alt 13. Nov 2016, 21:10
Hatte bisher mit den Klasseninstanzen in der TObjectList nie Probleme. Und OwnObjects weiß ich sehr zu schätzen - deswegen benutze ich TObjectList auch.
Wie sieht es denn mit dem Overhead aus zwischen TList und TObjectList?
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: TObjectList oder TList - wo ist der große Unterschied

  Alt 14. Nov 2016, 08:54
Schau doch mal in den Quelltext. TObjectList ist nichts weiter als eine Unterklasse von TList. Das einzige was sie zusätzlich macht ist das Freigeben der enthaltenen Objekte wenn OwnsObjects == True ist.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: TObjectList oder TList - wo ist der große Unterschied

  Alt 14. Nov 2016, 09:40
Bei neueren Delphi-Versionen sollte man Generics verwenden

Also: TList<TMeineKlasse>
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

AW: TObjectList oder TList - wo ist der große Unterschied

  Alt 14. Nov 2016, 09:49
Bei neueren Delphi-Versionen sollte man Generics verwenden

Also: TList<TMeineKlasse>
Ich würde auch mit Generics zur generischen TObjectList tendieren, wenn mit Klassen gearbeitet wird.
Sebastian
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: TObjectList oder TList - wo ist der große Unterschied

  Alt 14. Nov 2016, 09:55
Ich dachte das sei so selbstverständlich dass man das nicht mehr erwähnen muss
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#8

AW: TObjectList oder TList - wo ist der große Unterschied

  Alt 14. Nov 2016, 10:18
Bei neueren Delphi-Versionen sollte man Generics verwenden

Also: TList<TMeineKlasse>
Ich würde auch mit Generics zur generischen TObjectList tendieren, wenn mit Klassen gearbeitet wird.
Ich würd ja IList<T> nehmen
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz