Определяет, как система Visual FoxPro обеспечивает Обработку Очереди ожидаемых Событий Windows при обработке каждой Строки Программного Кода.
ApplicationObject.AutoYield[ = lExpr] |
Возвращаемое
значение
- lExpr
-
Данный параметр характеризует, как обрабатывается Очередь ожидаемых Событий Активных Объектов системой Visual FoxPro Windows при выполнении каждой строки Программного Кода (.prg). lExpr может принимать одно из следующих Значений:
lExpr Краткое Опичание True (.T.)
(По-Умолчанию) Текущий активный экземпляр Visual FoxPro обрабатыет События Windows в помежутке между выполнением текущих Строк Программного Кода (пользовательской Программы).
Если lExpr = true (.T.), активный компонент Visual FoxPro обрабатывает Очередь Событий Windows аналогичным образом, как и в Младших версиях Visual FoxPro.
False (.F.)
Активный компонент Visual FoxPro не обрабатывает очередь Событий ОС Windows между выполнением каждой строки Программного Кода (.prg).
Все необработанные События Windows помещаются в Очередь диспетчера Событий, которая будет обработана после выполнения системной команды DOEVENTS или при переходе Приложения в Состояние Ожидания (READ EVENTS). Указанное Состояние в системе Visual FoxPro происходит в момент ожидания от Пользователя определенных действий. Команда WAIT не создает Состояния Ожидания.
Комментарии
Применяется В: Application, объект | _VFP, системная переменная
Рассматриваемое свойство AutoYield должно быть установлено в значение = False (.F.), когда в текущей Форме содержится внешний Контрол ActiveX. Данная установка, AutoYield = false (.F.) предотвращает незамедлительную Обработку Событий контрола ActiveX в промежутках между выполнением каждой строки программного Кода. Например, если установлено: AutoYield = True (.T.), выполните Клик на текущем контроле ActiveX при выполнении некоторого Фрагмента программного Кода, что заставит обрабатывать данное событие системой VFP и влиять на текущее выполнение программы, что может привести к непредсказуемым последствиям и побочным Эффектам (не всегда Положительным).
При переключении данного Свойства в нестандартное значение, AutoYield = False (.F.), Происходит Следующее:
-
Контролы ActiveX не в состоянии обработать возникаемые собственные События, пока не наступает Состояние Ожидания, так, к примеру, Клик не указанном Элементе ActiveX не имеет никакого эффекта в момент выполнения некоторого Фрагмента программного Кода. Аналогичное поведение наблюдается для системного Контрола GRID Visual FoxPro.
-
Текущие, активные команды ON KEY LABEL, и соответствующие им События (процедуры) игнорируются при выполнении фрагмента программного кода. Данные команды ON KEY LABEL, а также возникаемые События от Мышки помещаются в Очередь на обработку Событий (для Диспетчера Событий), до очередного Состояния Ожидания, где они будут последовательно Обработаны.
-
Нажатие на клавишу Esc не выполняет приостановку выполнения Программы. Данный случай идентичен установке команды: SET ESCAPE = OFF. В этом случае вы не сможете завершить бесконечные Циклы (зацикливание), без аварийного завершения текущего сеанса работы системы Visual FoxPro.
-
Выполнение Запросов SQL не прероывается (даже если есть ошибка).
-
Внешнее переключение между Приложениями Поддерживается, но вы не сможете переключиться обратно в активное Окно Visual FoxPro, пока последний не выполнит Фрагмент программного Кода и не перейдет в режим Состояние Ожидания.