Funkcia DoEvents

Vzťahuje sa na
Access pre Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Poznámka

Funkcia, metóda, objekt alebo vlastnosť, ktoré sú popísané v tejto téme, sú vypnuté, ak je služba Microsoft Jet Expression Service spustená v režime karantény, ktorý zabraňuje vo vyhodnocovaní možných nebezpečných výrazov. Ďalšie informácie o režime karantény nájdete vyhľadaním výrazu „režim karantény“ v Pomocníkovi.

Prenechá sa spustenie a operačný systém môže spracúvať iné udalosti.

Syntax

DoEvents( )

Poznámky:

Funkcia DoEvents vráti celé číslo predstavujúce počet otvorených formulárov v samostatnej verzii programu Microsoft Visual Basic, ako je napríklad Visual Basic, Professional Edition. Vo všetkých ostatných aplikáciách vráti funkcia DoEvents nulu.

Funkcia DoEvents odovzdá kontrolu operačnému systému. Po ukončení spracovania udalostí vo fronte operačným systémom a po odoslaní všetkých kódov vo fronte sa kontrola odovzdá späť.

DoEvents je najužitočnejšia pri jednoduchých procesoch, ako je napríklad možnosť zrušenia procesu používateľom po jeho spustení (napríklad vyhľadávania súboru). Pri dlhotrvajúcich procesoch sa prenechanie kontroly na procesor lepšie dosiahne pomocou funkcie Timer alebo delegovaním úlohy k komponentu EXE aktívneho prvku ActiveX. V druhom prípade môže úloha pokračovať úplne nezávisle od vašej aplikácie a operačný systém sa postará o multitasking a rýchle filtrovanie času.

Kedykoľvek sa v rámci procedúry spúšťanej udalosťou dočasne prenecháte na procesor, uistite sa, že procedúra nie je pred vrátením prvého volania opätovne spúšťaná z inej časti kódu. Môže to spôsobiť nepredvídateľné výsledky. Okrem toho nepoužívajte DoEvents , ak by iné aplikácie mohli počas prenechania kontroly vstupovať do interakcie s vaším postupom nepredvídaným spôsobom.

Príklad

Poznámka

Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ak chcete získať ďalšie informácie o práci s jazykom VBA, vyberte z rozbaľovacieho zoznamu vedľa položky Hľadať možnosť Odkaz pre vývojára a do vyhľadávacieho poľa zadajte nejaké výrazy.

V tomto príklade je funkcia DoEvents použitá na spôsobenie prenechania kontroly na operačný systém po každej 1000. iterácii v slučke. DoEvents vráti počet otvorených formulárov v jazyku Visual Basic, ale len v prípade, keď je program Visual Basic hosťujúcim programom.

' 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.