У меня есть функция, которая запускается при нажатии кнопки, и эта функция вызывает другую функцию для выполнения черчения, которая представляет собой анимацию, составленную из серии циклов. Проблема в том, что после запуска программы ее нельзя остановить, если не нажать клавиши Ctrl + C, что приведет к сбою всего файла .exe и его повторному открытию.
Я хочу сделать кнопку сброса, чтобы остановить цикл, но как передать новую переменную из прерывания в существующую функцию, которая находится на два уровня выше стека?
Спасибо
edit @ 22:13 27/3/2011 (UKT)
более ясно, что я пытаюсь сделать:
function push_calculate_Callback(hObject, eventdata, handles)
(List of parameters read in the GUI)
fmain(list of paramters required to pass to the function, fmain)
это первая часть кода, которая напрямую связана с GUI, fmain выглядит так:
function fmain(List of parameters)
(List of calculations...)
fplotting(list of paramters for plotting)
, в котором fplotting - это то, откуда появляется анимация, внутри fplotting:
function fplotting(list of parameters)
for i = 1:(end)
(do the animation plot)
end
вот цикл, в котором я хочу остановиться, когда нажимаю кнопку сброса. Потому что если кто-нибудь нажмет Ctrl + C во время анимации (зацикливание), это выдаст ошибку, и exe-файл вылетит и потребует ее повторного открытия. Так что я хочу, чтобы он мог остановить его, когда кто-то нажмет кнопку сброса.
Если я использую постоянное, новое значение, после того как я нажму кнопку сброса, оно не перейдет в существующий цикл и не разорвет цикл ... похоже, я ищу способ обновить параметр после изменения это вне функции
Спасибо