@Daniel G:
Danke für die tolle Erklärung. Das muss ich mir aber nochmal genauer ansehen
@All:
Was ich bisher noch nicht verstanden habe ist folgende Sache: Oben hieß es, man solle Vergleiche vermeinden wie "if check(serial)=True then Starte_Programm;". Ist ja logisch, aber irgendwie muss ich doch prüfen, ob die SN gültig ist. Das kann ich ja in mehreren Prozeduren/Methoden machen, aber if-Vergleiche wie (if CheckBlock(1) = true) werde ich immer haben, oder?