Il nome "
Sleep ", attribuito a questa istruzione, mi sembra chiarificatore della sua funzione:
mette a dormire l'intero processo.
Public Sub Form_Open()
Me.Show
Wait 0.5 ' Il ''Wait', non bloccando l'intero processo, consente che il Form si apra completamente
Sleep 5
Print "Fine azione dello 'Sleep' "
End
Public Sub Button1_Click() ' Si noterà che lo "Sleep" impedisce lo scatenarsi dell'Evento "_Clic()" del Button !
Print "Clic"
End
Wait, invece, arresta la sola particolare procedura del codice giunta alla riga di quell'istruzione di attesa, non interferendo però con altre eventuali parti in corso del processo.
Public Sub Form_Open()
Me.Show
Wait 5
Print "Fine azione del 'Wait'"
End
Public Sub Button1_Click()
Print "Clic"
End
In vero, sia
Sleep che
Wait interrompono l'esecuzione corretta e completa di un Evento, qualora posti all'interno della routine di tale Evento.
Sleep però, in più rispetto a
Wait, sembra non limitarsi a bloccare, per il tempo stabilito, il sollevarsi dell'Evento e la procedura ove tale istruzione di attesa è posta, ma blocca ogni altro Evento che possa essere sollevato.
Anche il
Timer è soggetto a tale regola: prevale l'istruzione
Sleep (provare codice allegato da Gianluigi).