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