Zitat von
Hansa:
Wenn schon, dann würde ich eine TObjectlist nehmen. TObject genau nach Bedarf definieren (quasi wie Record) und diese Objekte in die Liste eintragen. Ich weiß, dass das geht. Ob und wie das mit der TList geht ?
Ok, das geht. Die Komponente die die ObjectList enthält hat eine Eigenschaft
property Items[Index: Integer]:TMyObject read getObject write SetObject default;
Jetzt gibt GetObject halt immer ein TMyObject zurück (sozusagen die Basisklasse). Dann muss der Entwickler aber immer selber Casten.
Delphi-Quellcode:
if Component.Items[0] is TMyObjectNr2 then
TMyObjectNr2(Component.Items[0]).Wert1 := 'xyz'
else if Component.Items[0] is TMyObjectNr1 then
...
...
Finde ich ziemlich unschön. Gibts da nicht einen besseren weg?