Блокируйте выполнение и ждите условия
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 значение свойства для этого компонента установлено в.