Eben, entweder man castet eine Integer nach TObject (und vice versa) wie oben gezeigt, oder man erstellt tatsächlich eine Objektinstanz und fügt die dann ein. Wenn man sich nicht sicher ist, ob man ggf. später noch weitere Infos benötigt, ist man mit der 2. Variante auf der sicheren Seite, da man dann nur die Klasse dahingehend erweitern muss.
Man kann natürlich die Daten, bzw. das Datenobjekt auch wo anders ablegen (z.B. in einer
DB oder einer Objektliste) und speichert in .Objects nur die ID zu den jeweiligen Daten.
Praktisch so wie es der TE eh schon vor hat. Dann sind
GUI und Daten etwas voneinander getrennt.