Moin,
wenn du 5 Elemente in der Liste hast, dann sind die Indize 0-4. Wenn du in der Mitte ein Element rausnimmst, dann geht der Rest einfach "nach vorne", d.h. du hast nie Luecken in der Liste. Pruefen kannst du es also so (ich gehe davon aus, dass auch "schritt" 0-basiert ist:
if (schritt >= 0) and (schritt < liste.count)
Die zweite Pruefung ist, ob du ueberhaupt ein Objekt da drin stehn hast. Nur weil der Index da ist, heisst noch lange nicht dass dort das drinsteht, was du erwartest. Ich kann ja auch einen Integer auf TObject casten und den reinschreiben; bei einem Objektzugriff auf dieses Element wuerde es dann dementsprechend krachen, genauso bei nil. Das hat aber nichts damit zu tun, ob der Index da ist
Greetz
alcaeus