Überleg einmal, was passiert, wenn es genau ein Listenelement gibt.
Dein Developerbyindex wird genau einmal mit dem Parameter index=1 aufgerufen.
if index <= DevelopersCount
liefert true
for i := 0 to index-1 do
-> from 0 to 0, schleife wird genau einmal durchlaufen
current := current^.Next;
-> first^.next = nil, weil es ja nur ein Listenelement gibt, der next pointer des ersten Listenelemts zeigt also auf kein weiteres.
current^.content = nil^.content =
exception.
Im Posting 11 habe ich Dir schon geschrieben:
Zitat:
Wenn in der Schleife beim Weiterschalten einmal nil kommt, dann war der Index zu gross, da gehört eine Fehlermeldung oder was auch immer hinein.
Wenn Du das so überprüft hättest, hättest Du den Fehler schon längst gefunden.
Wenn Du das ERSTE Listenelemnt haben willst, musst Du 0 mal in der Schleife weitergehen, weil dzu Beginn zeigt Dein current ja schon auf das erste Element.
Du durchläufst die Schleife prinzipiell einmal zu oft, und fliegst deswegen am Ende hinaus.#