Функція DoEvents

Примітка : Функція, метод, об’єкт або властивість, описана в цьому розділі, недоступна, якщо Microsoft Jet Expression Service працює в режимі ізольованого програмного середовища, що запобігає обчисленню потенційно небезпечних виразів. Щоб отримати докладні відомості про режим ізольованого програмного середовища, у вікні довідки шукайте за запитом "режим ізольованого програмного середовища".

Виконує результати, щоб операційна система змогла обробити інші події.

Синтаксис

DoEvents ( )

Примітки

Функція DoEvents повертає значення типу Integer, яке позначає кількість відкритих форм в окремих версіях Microsoft Visual Basic, як-от Visual Basic, Professional Edition. Функція DoEvents повертає нуль у всіх інших програмах.

Функція DoEvents передає керування операційній системі. Керування повертається, після того як операційна система завершить обробляти події в черзі, і всі ключі в черзі SendKeys буде надіслано.

Функція DoEvents найкраще підходить для простих речей, як-от дозволити користувачеві скасувати процес після його запуску (наприклад, пошук файлу). Для довготривалих процесів роботи краще передавати керування процесору за допомогою таймера або делегувати завдання компоненту ActiveX EXE. У другому випадку завдання може й надалі виконуватись абсолютно незалежно від програми, а операційна система подбає про багатозадачність і розподілення часу.

Щоразу, коли ви тимчасово передаватимете керування процесору в рамках процедури події, переконайтеся, що її не буде ще раз виконано в іншій частині коду, перш ніж повернеться перший виклик; це може призвести до непередбачуваних результатів. Крім того, не використовуйте функцію DoEvents, якщо інші програми можуть взаємодіяти з вашою процедурою в непередбачуваний спосіб протягом часу, коли керування передано.

Приклад

Примітка : У прикладах нижче показано використання цієї функції в модулі Visual Basic for Applications (VBA). Щоб отримати докладні відомості про використання модуля VBA, клацніть пункт Довідник розробника в розкривному списку поряд із полем Пошук і введіть у поле пошуку принаймні один термін.

У цьому прикладі функцію DoEvents використано, щоб спричинити передавання керування операційній системі після кожних 1000 ітерацій циклу. Функція DoEvents повертає кількість відкритих форм Visual Basic, але лише коли хост-програмою є Visual Basic.

' Create a variable to hold number of 
' Visual Basic forms loaded and visible.
Dim I, OpenForms
For I = 1 To 150000 ' Start loop.
If I Mod 1000 = 0 Then ' If loop has repeated
' 1000 times.
OpenForms = DoEvents ' Yield to operating system.
End If
Next I ' Increment loop counter.
Отримуйте нові функції раніше за інших
Приєднайтеся до оцінювачів Office

Ця інформація корисна?

Дякуємо за ваш відгук!

Дякуємо за відгук! Схоже, вам може стати в нагоді допомога одного з наших спеціалістів служби підтримки Office, з яким ми вас можемо з’єднати.

×