Hallo,
bräuchte mal ein paar Tipps
Mein Bekannter ist so von Schrittketten überzeugt (es geht um Maschinensteuerung).
Das sieht in etwas so aus:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| while (true) {
switch (step) { case 0: { step = 1; } case 1: { step = 2; } case 2: { step = 3; } } |
Wenn in irgendeinem Schritt ein Fehler passiert springt er aus der Schleife und geht in ne FehlerFunktion...
Das ganze kommt aus der Maschinensteuerung, da wird immer so programmiert (laut Kollege)
So, jetzt zu meiner Frage:
Die Funktionen werden ellenlang und ich hasse Schrittketten!!!
Wie kann ich solche Schrittketten sauber ersetzen?
Mein Problem:
Ich stelle es mir irgendwie so vor:
Jeder Step, wird durch ein Objekt das irgendwas macht ersetzt.
Ich will keine Endlosschleife mehr verwenden.
Jede Objektaktion dauert aber ne Zeit lang. (bis die Maschine was macht)
und ich muß jeden Maschinenfehler (der asynchron von der Maschine kommt) abfangen, das kann ich per Event, den ich auch im Programm drin hab.
So: wie beende ich dann meine Aktionen (die zwangsläugig nacheinander geschehen müssen) wenn ich in der Main Klasse nen Event fange und diesen irgendwie den anderen Klassen mitteilen muß und dann auch noch aus dem eigenen Ablauf raus muß?
Also ich weiss es klingt etwas kompliziert? Vielleicht hat jemand ne ganz einfach Idee oder ein Konzept, wie man Schrittketten abschaffen kann???
Danke,
winx