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