У меня есть кнопка START и STOP. Когда я нажимаю START, я запускаю кучу кода в своем обратном вызове. Это в основном последовательный «сценарий», который открывает клапаны, распределяет воду, а затем закрывает клапаны ... нет цикла while(), и она не повторяется. Я хочу, чтобы остановить этот процесс в любое время с помощью кнопки STOP. Большинство связанных ответов, которые я видел, относятся к случаям, когда используется цикл while(). Некоторые люди также предлагали периодически проверять, была ли нажата кнопка STOP (с переменной или переменной обработки).Остановка обратного вызова GUI MATLAB
Так как у меня нет цикла while, я не могу решить его таким образом. Кроме того, я хотел бы иметь возможность выйти немедленно, без необходимости периодически проверять (потому что проверка нескольких раз в моем коде была бы уродливой и запутанной). Есть ли способ прекратить обратный вызов, который был прерван кнопкой STOP? Если нет, возможно ли запустить кнопку START с файлом .m, а затем остановить кнопку STOP в этом файле .m?
Худший вариант сценария - периодически проверять переменную.
UPDATE: Ну, похоже, что в худшем случае является то, что предлагается по MATLAB ... http://www.mathworks.com/support/solutions/en/data/1-33IK85/index.html?product=ML&solution=1-33IK85
Спасибо.
Альтернатива нажимает 'ctrl + c', но это грязно и, вероятно, не то, что вы действительно хотите. – Jonas
Да, к сожалению, я не хочу, чтобы пользователь нажимал эти клавиши. Я не думаю, что есть способ программно сделать ctrl + c ... – leonhart88