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 sandboxu, což brání vyhodnocení potenciálně nebezpečných výrazů. Další informace o režimu sandboxu najdete v nápovědě pro "režim sandboxu".
Umožňuje spuštění, aby operační systém mohl zpracovávat další události.
Syntaxe
DoEvents ( )
Poznámky
Funkce DoEvents vrátí celé číslo představující počet otevřených formulářů v samostatných verzích jazyka Microsoft Visual Basic, například Visual Basic, Professional Edition. Funkce DoEvents vrátí ve všech ostatních aplikacích nula.
DoEvents předává řízení operačnímu systému. Ovládací prvek se vrátí po dokončení zpracování událostí ve frontě operačního systému a odeslání všech klíčů ve frontě SendKeys .
DoEvents je nejužitečnější pro jednoduché věci, jako je povolení uživateli zrušit proces po jeho zahájení, například hledání souboru. U dlouhotrvajících procesů je výnos procesoru lépe dosaženo pomocí časovače nebo delegování ú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 dělení času.
Kdykoli dočasně vrátíte procesoru v rámci procedury události, ujistěte se, že se Procedura znovu nespustí z jiné části kódu, než se vrátí první 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 pracovat nepředvídatelnými způsoby během doby, kdy jste se dostali pod 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.
V tomto příkladu se funkce DoEvents používá k provedení operačního systému jednou za každých 1000 iterací smyčky. DoEvents vrátí počet otevřených formulářů jazyka 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.