Ich habe nicht den ganzen Code gepostet, weil ich bereits weiß, dass der Rest arbeitet.
Zwischen "arbeitet" und "ist fehlerfrei" liegen Welten.
Daher habe ich nur die Problemstelle genommen um den Blick darauf zu fokussieren.
Nur ist das nicht die eigentliche Problemstelle, sondern nur die Stelle, wo sich das Problem für dich bemerkbar macht.

Die beste Chance auf Hilfe hast du, wenn du wirklich den ganzen Code postest, und nicht nur irgendwelche "Schnipsel".