Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Uwe Raabe,
2. Aug 2013
Du darfst für die lokale Variable keine eigene Instanz erzeugen, sondern du weist ihr die Instanz aus der TObjectList zu. Dann kannst du die Feldwerte ändern. Auf keinen Fall darfst du die lokale Variable freigeben, da dann der Zeiger auf diese Instanz in der TObjectList ja ungültig würde.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Uwe Raabe,
2. Aug 2013
Da es sich um eine Klassen-Instanz handelt, arbeitest du immer mit derselben Instanz - ob lokal oder in der Liste. Klassen-Instanzen sind eigentlich Zeiger.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Uwe Raabe,
2. Aug 2013
Nicht mehr als eine nicht-generische TObjectList.
Wenn er wirklich unterschiedliche Klassen verwalten will, die als einzigen gemeinsamen Nachfahren TObject haben, dann ist TObjectList eine Wahl. In allen anderen Fällen bietet sich eine generische Liste über den BasisTyp an. Werden dann wirklich die einzelnen Klasseninstanzen gebraucht, ist eine Phalanx von if kiObjectList.Items is <SomeClass>...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Uwe Raabe,
2. Aug 2013
... oder man nimmt gleich die generische TObjectList<T> ...