Ich habe eine START und STOP Taste. Wenn ich START drücke, führe ich eine Menge Code in meinem Callback aus. Es ist im Grunde ein sequenzielles "Skript", das Ventile öffnet, Wasser ausgibt und dann die Ventile schließt ... es gibt keine while() - Schleife und es wiederholt sich nicht. Ich möchte diesen Vorgang jederzeit mit der STOP-Taste beenden können. Die meisten verwandten Antworten, die ich gesehen habe, sind in den Fällen, in denen eine while() -Schleife verwendet wird. Einige Leute haben auch vorgeschlagen, regelmäßig zu überprüfen, ob die STOP-Taste gedrückt wurde (mit einer Variablen oder Handle-Variable).Einen MATLAB GUI Callback stoppen
Da ich keine While-Schleife habe, kann ich es nicht so lösen. Außerdem möchte ich in der Lage sein, sofort zu beenden, ohne in regelmäßigen Abständen überprüfen zu müssen (weil die mehrfache Überprüfung in meinem Code hässlich und verwirrend wäre). Gibt es eine Möglichkeit, den Rückruf zu beenden, der durch die STOP-Taste unterbrochen wurde? Wenn nicht, ist es möglich, dass die START-Schaltfläche eine .m-Datei ausführt und dann die STOP-Schaltfläche die .m-Datei beendet?
Das Worst-Case-Szenario wäre eine periodische Überprüfung einer Variablen.
UPDATE: Nun, sieht aus wie das Worst-Case-Szenario ist, was von MATLAB vorgeschlagen ... http://www.mathworks.com/support/solutions/en/data/1-33IK85/index.html?product=ML&solution=1-33IK85
Dank.
Die Alternative ist 'ctrl + c', aber das ist chaotisch und wahrscheinlich nicht das, was Sie wirklich wollen. – Jonas
Ja, leider möchte ich nicht, dass der Benutzer diese Tasten drücken muss. Ich denke nicht, dass es eine Möglichkeit gibt, programmgesteuert ctrl + c zu machen ... – leonhart88