Předá vykonávání, aby operační systém mohl zpracovávat jiné události.
Syntaxe
DoEvents(
)
Poznámky
Funkce DoEvents vrátí celé číslo (Typ dat Integer: Základní typ dat zahrnující celá čísla. Proměnná Integer je uložena jako 16bitové (2bajtové) číslo s hodnotou v rozsahu od -32,768 do 32,767.)
udávající počet otevřených formulářů v samostatných verzích jazyka Microsoft Visual Basic, například Visual Basic, Professional Edition. U všech ostatních aplikací vrátí funkce DoEvents nulu.
Funkce DoEvents předá řízení operačnímu systému. Řízení je předáno zpět, jakmile operační systém dokončí zpracování událostí ve frontě a všechny úhozy ve frontě PředatKlávesovéÚhozy jsou odeslány.
Funkce DoEvents je nejužitečnější při provádění jednoduchých úkonů, jako je umožnění uživateli zrušit proces po jeho spuštění, například při vyhledávání souborů. U dlouhodobě spuštěných procesů je předání procesoru dosaženo snadněji pomocí časovače nebo delegováním úkolu součásti ActiveX EXE. V druhém případě může úkol nadále pokračovat nezávisle na aplikaci a operační systém bude provádět víceúlohové zpracování (multitasking) a dělení na časové úseky.
Varování Při každém dočasném předání řízení procesoru v rámci procedury události se ujistěte, že procedura (Procedura: Posloupnost deklarací a příkazů v modulu, které jsou provedeny jako celek. Mezi procedury jazyka Visual Basic patří procedury Sub a Function.)
není spuštěna znovu z jiné části kódu dříve, než je vrácena hodnota prvního volání. To by mohlo vést k nepředvídatelným výsledkům. Funkci DoEvents nepoužívejte ani v případě, že by jiné aplikace mohly při předání řízení nepředvídaným způsobem interaktivně ovlivňovat danou proceduru.
Příklad
Poznámka: Následující příklady uvádějí použití této funkce v modulu jazyka Visual Basic for Applications (VBA). Další informace o práci s jazykem VBA získáte tak, že klepnete na položku Referenční informace pro vývojáře v rozevíracím seznamu vedle pole Hledat a do pole pro hledání zadáte jeden nebo více pojmů.
V tomto příkladu způsobí funkce DoEvents, aby vykonávání bylo předáno operačnímu systému každých 1 000 iterací smyčky. Funkce DoEvents vrátí počet otevřených formulářů jazyka Visual Basic, ale pouze v případě, že hostitelskou aplikací 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.