Ich hab einen kleinen Fehler gemacht der einen Rattenschwanz nach sich zieht.
Soll gelegentlich bei den besten Programmierern vorkommen. Ich hab mir angewöhnt, beim Start ein Flag zu setzen (Boolsche Variable StartModus := TRUE) und nachdem alle einmalig auszuführenden Proceduren und Funktionen abgearbeitet sind, das Flag auf FALSE zu setzen. Bei allen entsprechenden Prozeduren, die nur beim Start oder andersherum beim Start nicht ausgeführt werden sollen, heißt es dann gleich zu Beginn:
IF NOT StartModus THEN EXIT;
oder
IF StartModus THEN EXIT;