Блокируйте выполнение и ожидайте условия
waitfor(mo)
waitfor(mo,propname)
waitfor(mo,propname,propvalue)
Блочные операторы
от выполнения до завершений объекта MATLAB® (удален). Когда объект больше не существует, waitfor(mo)
waitfor
возвращается, позволяя выполнению возобновиться. Если объект не существует, waitfor
сразу возвращается.
задает имя свойства объекта и блокирует выполнение до значения изменений свойства или объектных завершений. Например, waitfor(mo,propname)
waitfor(mytable,'Data')
приостанавливает выполнение до значения изменений 'Data'
для mytable
. Если заданное имя свойства недопустимо, выполнение остается блокированным.
задает значение, которое свойство должно изменить на то, прежде чем выполнение сможет возобновиться. Если заданное свойство уже равно waitfor(mo,propname,propvalue)
propvalue
, то waitfor
сразу возвращается и резюме выполнения.
Если вы закрываете фигуру, в то время как waitfor
выполняется, ошибка происходит, потому что код пытается получить доступ к объектам, которые больше не существуют. Можно обработать ошибку путем включения waitfor
в блок try/catch
.
Как правило, обратные вызовы могут все еще запуститься, если waitfor
использовался, чтобы препятствовать тому, чтобы программы или модели Simulink® продолжили выполнение. Например, обратные вызовы, которые отвечают на пользовательские действия (как нажатие кнопки мыши) могут все еще запуститься, даже если waitfor
был назван.
waitfor
может также использоваться, чтобы блокировать вызовы вложенной функции. Например, обратный вызов, который выполняется, в то время как функция waitfor
запускается, может также вызвать waitfor
. Если функция обратного вызова компонента UI является выполняющимся в данным моментом функция waitfor
, то тот обратный вызов может быть прерван независимо от того, во что было установлено значение свойства Interruptible
для того компонента.
drawnow
| клавиатура
| приостановка
| uiresume
| uiwait
| waitforbuttonpress