Funkce DoEvents

Poznámka : Funkce, metoda, objekt či vlastnost popisovaná v tomto tématu je zakázána, pokud je služba Microsoft Jet Expression Service spuštěna v režimu izolovaného prostoru (sandbox), který zabraňuje vyhodnocení potenciálně nebezpečných výrazů. Další informace o režimu izolovaného prostoru (sandbox) naleznete po vyhledání hesla režim izolovaného prostoru (sandbox) v nápovědě.

Předá vykonávání, aby operační systém mohl zpracovávat jiné události.

Syntaxe

DoEvents( )

Poznámky

Funkce DoEvents vrátí Datový typ Integer 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.

Při každém dočasném předání řízení procesoru v rámci procedury události se ujistěte, že Procedura 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 kliknete 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.
Sdílení Facebook Facebook Twitter Twitter E-mail E-mail

Byly tyto informace užitečné?

Výborně! Je ještě něco dalšího, co byste nám chtěli dát vědět?

Jak bychom ho mohli vylepšit?

Děkujeme vám za zpětnou vazbu.

×