Poznámka: Funkce, metoda, objekt nebo vlastnost popsaná v tomto tématu je zakázaná, pokud je služba Microsoft Jet Expression Service spuštěná v režimu izolovaného prostoru (sandbox), což brání vyhodnocení potenciálně nebezpečných výrazů. Další informace o režimu izolovaného prostoru najdete v nápovědě k režimu izolovaného prostoru.
Výnos provádění tak, aby operační systém mohl zpracovávat jiné 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, jako je například Visual Basic, Professional Edition. Funkce DoEvents vrátí nulovou hodnotu ve všech ostatních aplikacích.
Předádá řízení operačnímu systému. Ovládací prvek se vrátí až po tom, co operační systém dokončí zpracování událostí ve 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 například povolení zrušit proces po jeho zahájení, například pro hledání souboru. U dlouhodobých procesů je získávání procesoru lepší pomocí časovače nebo delegování úkolu na komponentu ActiveX EXE. V takovém případě může úkol pokračovat úplně nezávisle na vaší aplikaci a operační systém se stará o multitasking a čas nalici.
Kdykoli se dočasně vrátíte k procesoru v obslužné proceduře události, zajistěte, aby se příkaz Procedura před prvním voláním znovu nespouštěl z jiné části kódu. to by mohlo způsobit nepředvídatelné výsledky. DoEvents také nepoužívejte, pokud by v době, kdy jste předpokládali řízení, mohli s vaším postupem pracovat i jiné aplikace nečekaným způsobem.
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 tomu, aby se spuštění sčítá s operačním systémem po každých 1 000 iteracích cyklu. Funkce DoEvents vrátí počet otevřených formulářů jazyka Visual Basic, ale jenom v případě, že je hostitelem aplikace 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.