Funktionen DoEvents

Bemærk: Den funktion, metode, objekt eller egenskab, som beskrives i dette emne er deaktiveret, hvis Microsoft Jet-udtrykstjenesten er i sandkassetilstand, der forhindrer evaluering af udtryk, der muligvis ikke er sikre. Yderligere oplysninger om sandkassetilstand finder du i Hjælp ved at søge på "sandkassetilstand".

Medfører udførelse, så operativsystemet kan behandle andre hændelser.

Syntaks

DoEvents( )

Bemærkninger

Funktionen DoEvents returnerer et datatypen Heltal, der angiver antallet af åbne formularer i selvstændige versioner af Microsoft Visual Basic, f.eks. Visual Basic, Professional Edition. DoEvents returnerer nul i alle andre programmer.

DoEvents overfører kontrolelement til operativsystemet. Kontrolelementet returneres, når operativsystemet er færdig med at behandle hændelserne i køen, og alle nøgler i SendKeys-køen er sendt.

DoEvents er mest nyttig til enkle ting, såsom at tillade en bruger at annullere en proces, efter at den er startet, f.eks. en søgning efter en fil. I forbindelse med processer, der kører i lang tid, udføres overførsel til processoren bedre ved hjælp af en timer eller ved at delegere opgaven til en ActiveX EXE-komponent. I sidstnævnte tilfælde kan opgaven fortsætte helt uafhængt af dit program, og operativsystemet sørger for multitasking og tildeling af tidskvanta.

Hver gang du midlertidigt overfører til processoren inden for en hændelsesprocedure, skal du sørge for, at procedure ikke udføres igen fra en anden del af koden, før det første opkald returneres. Dette kan medføre uforudsete resultater. Desuden må du ikke bruge DoEvents, hvis andre programmer muligvis påvirker proceduren interaktivt på uforudsete måder i det tidsrum, du har fået kontrol.

Eksempel

Bemærk: I de følgende eksempler demonstreres brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Du kan få yderligere oplysninger om arbejde med VBA ved at vælge Udviklerreference på rullelisten ud for Søg og indtaste et eller flere udtryk i søgeboksen.

I dette eksempel bruges funktionen DoEvents til at medføre udførelse af overførsel til operativsystemet én gang for hver 1000 gentagelse af løkken. DoEvents returnerer antallet af åbne Visual Basic-formularer, men kun hvis værtsprogrammet er 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.
Del Facebook Facebook Twitter Twitter Mail Mail

Var disse oplysninger nyttige?

Fantastisk! Har du mere feedback?

Hvordan kan vi forbedre det?

Tak for din feedback!

×