[...]ich habe nun mehrere klassen in einer tobjectlist gespeichert. [...]
... oder man nimmt gleich die generische TObjectList<T> ...
Eine generische ObjectList fährt aber gegen die Wand, sobald er mehrere Klassen verwalten will.
Dann würde ich, ganz grob, so vorgehen:
Delphi-Quellcode:
if kiObjectList.Items[i] is TKIClass then
(kiObjectList.Items[i] as TKiClass).DoSomething;
if kiObjectList.Items[i] is TPlayerClass then
(kiObjectList.Items[i] as TPlayerClass).DoSomethingDifferent;
Wobei ich hier einfach mal den "SoftCast"
as
anstelle des HardCasts verwendet habe
Oder habe ich das Ganze wieder einmal falsch interpretiert und es sind mehrere Instanzen *einer* Klasse gemeint?