' schrieb:Dabei kann es aber vorkommen, dass ich auf einen Ausgang mehrere Kanäle lege.
Das haben enumeratoren so an sich.
Zitat:Optimal wäre ein Enum Aus dem die "verbrauchten" Ausgänge verschwinden. Hast Du da vielleicht auch eine Lösung?
Programmatisch lösen.
Der Enumerator hat einen "(none)"-Wert (praktischerweise die erste Position). Das kann man verwenden, um einen versehentlich gesetzten Kanal wieder zu löschen. Außerdem ist das die Vorbesetzung vor der Eingabe. Wenn die Eingabe beendet ist, müssen alle Kanäle einen Ausgang ungleich none haben.
Immer wenn der Anwender eine Eingabe gemacht hat (Event-Case!) prüfst du das gesamte(!) Array. Und zwar so: In Array aufaddieren und gleichzeitig prüfen. Ist der Enumerator schon im Array => Fehler. Ich hab mal ein Bild gemacht.