Выполняет все Незаконченные События системы Windows.
![]() |
---|
Вы не можете выполнять команду DOEVENTS используя косвенный вызов, заключив ее в круглые скобки (()); например, "DOEVENTS( )". |
Вы можете использовать команду DOEVENTS в достаточно простых случаях, например, для отмены длительного выполнения процесса поиска требуемого файла. Длительные процессы значительно загружают Процессор рабочей станции, для этого лучше использовать пользовательские Контролы, управляемые объектом Timer или с помощью передачи рассматриваемой задачи некоторому объекту COM (Server executable (.exe)). В этом случае, подобные задачи передаются за пределы вашего Приложения и выполняются по правилам операционной системы Windows, которая оптимизирует использование памяти и распределение процессорного времени между выполняемыми задачами.
![]() |
---|
Всякий раз, при выполнении некоторой задачи в программном коде некоторого События, вам необходимо отслеживать, чтобы данное событие не запускалось из других фрагментов вашего Приложения до того момента, пока не завершился первый процесс. Такие ситуации обычно приводят к непредсказуемым результатам, вплоть до разрушения Приложения. Кроме того, не используете команду DOEVENTS, если другие Приложения могут обратиться к вашему Приложению в тот момент, когда вы запускаете некоторый процесс, связанный с рассматриваемым Событием. |
DOEVENTS [FORCE] |
Параметры
- FORCE
-
Обеспечивает остановку выполнения программного кода Visual FoxPro пока выполняется системное событие Windows, например такое как перемещение указателя мышки.
Обратите Внимание
Использование ключевой опции FORCE усиливает выполнение рассматриваемого программного кода, уплотняет выполнение. Следовательно, вам нужно быть особенно внимательным при примерении команды
DOEVENTS FORCE
в критичных циклах, таких как DO WHILE.
Комментарии
Когда значение свойства AutoYield установлено в = False (.F.), программный код процедуры выполняется, все активные события текущего Окна или Формы выстраиваются в очередь на обработку. Команда DOEVENTS инициирует (запускает) процесс обслуживания указанной очереди Событий и других фрагментов программного кода, связанных с рассматриваемыми незаконченными событиями текущего Окна или Формы. Если в указанной очереди отсутствуют незаконченные События, система Visual FoxPro игнорирует текущую команду DOEVENTS и продолжает выполнение программного кода дальше.....