PoprzedniaWyżejGłównaSpis treściIndex hasełZnajdźBokGora
BokGora

Google
 

Funkcja DoEvents

Funkcja DoEvents oddaje sterowanie aby system operacyjny mógł wykonać inne zdarzenia.

Składnia funkcji DoEvents:

DoEvents()

Funkcja DoEvents zwraca wartość typu Integer określającą numer formy otwartej w pojedynczej (stand-alone) wersji Visual Basic, jak Visual Basic Professional Edition. Funkcja DoEvents zwraca zero we wszystkich innych aplikacjach.

Funkcja DoEvents przekazuje sterowanie do systemu operacyjnego. Kontrola powraca po zakończeniu wykonywania przez system operacyjny zdarzenia z jego kolejki i wysłaniu wszystkich klawiszy z kolejki SendKeys.

Funkcja DoEvents jest bardzo przydatna np. aby umożliwić użytkownikowi przerwanie procesu, który został rozpoczęty, np. szukania pliku. Przy długotrwałych procesach, oddawanie sterowania jest lepszym rozwiązaniem niż użycie Timera lub wysyłanie zadań do komponentów ActiveX EXE. W ostatnim przypadku, zadanie może działać całkowicie samodzielnie a system operacyjny przejmie zadania wieloprocesowości (przełączania - multitasking) i podziału czasu.

Za każdym razem przy chwilowym udostępnianiu procesora z procedury zdarzeniowej, należy się upewnić, że procedura nie zostanie uruchomiona ponownie z innej części programu przed zakończeniem pierwszego wywołania procedury, może to spowodować nieprzewidywany rezultat. Dodatkowo, nie należy używać funkcji DoEvents jeżeli inne aplikacje mogą oddziaływać na procedurę w nieprzewidziany sposób w czasie oddania kontroli.



Przykład użycia funkcji DoEvents:

Dim varI As Variant, varForma As Variant
For varI=1 To 150000  'zacznij pętlę
 If varI Mod 1000=0 Then  'jeżeli 1000 powtórzenie
  varForma=DoEvents  'oddaj sterowania do systemu operacyjnego
 End If
Next varI  'zwiększ wartość licznika


(Zmienne, typy zmiennych i rozkazy For i If zostały opisane w innych częściach kursu.)

Przykład pokazuje jak oddać sterowanie do systemu operacyjnego co 1000 wywołanie długotrwałej (150000) pętli. System może w tym czasie obsłużyć inne zdarzenia (np. próbę przerwania pętli przez użytkownika). DoEvents zwraca numer otwartej formy, ale tylko jeżeli programem typu host jest Visual Basic.

na górę strony...


Google
 
Poprzednia | Wyżej | Strona główna | Spis Treści | Index haseł | Opis VB

BokDol
PoprzedniaWyżejGłównaSpis treściIndex hasełZnajdźBokGora
BokGora