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