Примітка.: Функція, метод, об’єкт або властивість, описана в цьому розділі, недоступна, якщо 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.