So,
Problem gelöst!
Es ist das, was ich befürchtet hatte - durch die Änderung habe ich jetzt zwar 3.285 Zeilen mehr Code, aber dafür läuft es wenigstens Problemlos. Habe durch meinen Testroboter 20 Durchläufe testen lassen - ohne Probleme!
Vor der Änderung war ja schon nach 2 Durchläufen Schluß!
Was war die Ursache? Nun, ich wollte damals meinen Code optimieren und Dinge zusammenfassen, so dass es möglichst wenige Zeilen Code ergibt.
In dieser Funktion, in der ich einen Teil des Kataloges erzeuge, werden die Zusatzwettbewerbe eingebunden - davon gibt es insgesamt 4 verschiedene.
Eine Schau kann über bis zu drei Tage gehen - an jedem dieser Tage können die Zusatzwettbewerbe stattfinden.
Die Reihenfolge im Katalog soll sein:
Zusatzwettbewerb1 am 1. Tag, 2. Tag, 3. Tag
Zusatzwettbewerb2 am 1. Tag, 2. Tag, 3. Tag
Zusatzwettbewerb3 am 1. Tag, 2. Tag, 3. Tag
Zusatzwettbewerb4 am 1. Tag, 2. Tag, 3. Tag
Also habe ich mir gedacht: Sei schlau, nimm eine FOR-Schleife und Filter.
Ich habe also vier FOR-Schleifen genommen (eine pro Zusatzwettbewerb) und den Filter immer entsprechend gesetzt (also nach dem jeweiligen Zusatzwettbewerb (innerhalb der FOR-Schleife immer gleich) und dem jeweiligen Tag (innerhalb der FOR-Schleife der Zähler)).
Und das war die Ursache!
Ich habe jetzt die Schleifen aufgelöst und die Blöcke jeweils dreimal in den Code geschrieben - natürlich immer die jeweilige Filterbedingung genommen.
Und jetzt geht es! Nicht immer ist also weniger besser
Der Schleifenindex war übrigens eine local und der Start und Endwert jeweils private.
Viele Grüße,
Martin