Funkce DoEvents

Platí pro
Access pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Poznámka

Funkce, metoda, objekt nebo vlastnost popsané v tomto tématu jsou zakázány, pokud je služba Microsoft Jet Expression Service spuštěna v režimu izolovaného prostoru (sandbox), který znemožňuje vyhodnocení potenciálně nebezpečných výrazů. Další informace o režimu izolovaného prostoru vyhledáte zadáním dotazu "režim izolovaného prostoru" v nápovědě.

Poskytuje spuštění, aby operační systém mohl zpracovat další události.

Syntaxe

DoEvents( )

Poznámky

Funkce DoEvents vrací celé číslo představující počet otevřených formulářů v samostatných verzích Microsoft Visual Basic, jako je Visual Basic nebo Professional Edition. Funkce DoEvents vrátí ve všech ostatních aplikacích nulu.

DoEvents předá řízení operačnímu systému. Ovládací prvek je vrácen poté, co operační systém dokončí zpracování událostí ve své frontě a byly odeslány všechny klíče ve frontě SendKeys .

Funkce DoEvents je nejužitečnější pro jednoduché věci, jako je umožnění uživateli zrušit proces poté, co začal, například hledání souboru. U dlouhotrvajících procesů je ustupování procesoru lépe dosaženo pomocí časovače nebo delegováním úlohy na komponentu ActiveX EXE. V druhém případě může úloha pokračovat zcela nezávisle na vaší aplikaci a operační systém se postará o multitasking a časové dělení.

Pokaždé, když se dočasně podvolíte procesoru v rámci procedury události, ujistěte se, že procedura není znovu spuštěna z jiné části kódu před návratem prvního volání; To může způsobit nepředvídatelné výsledky. Kromě toho nepoužívejte DoEvents , pokud by jiné aplikace mohly s vaším postupem interagovat nepředvídaným způsobem během doby, kdy jste předali kontrolu.

Příklad

Poznámka

Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.

Tento příklad používá DoEvents funkci, která způsobí, že spuštění se vrátí operačnímu systému jednou za 1000 iterací smyčky. DoEvents vrátí počet otevřených formulářů Visual Basic, ale pouze v případě, že hostitelská aplikace je 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.