Hello Bart,

Bart Aimar ha scritto:


Bart Aimar ha scritto:
Ho una applicazione (una specie di timer) che necessita di un pulsante
"interrompi" capace di fermare il codice.

Volevo precisare che nel codice ci sono dei wait (che possono essere di decine di minuti),

Oh my God!!! Era meglio se non precisavi... :-)
Non riesco ad immaginare nessun motivo per avere una macro con dei wait per decine di minuti. Cmq non voglio sapere nulla.
;-)


Cerca per quanto possibile di ristrutturare il codice nel modo esemplificato qui sotto

Sostituisci il wait da 10 minuti con un ciclo che contiene un wait più brev, poi metti un flag che venga testato nel ciclo suddetto e fa in modo che il pulsante stop "alzi" il flag di cui sopra.

esempio:


------------------------------
Private bStopMe As Boolean

Sub LongTask
  Do Until bStopMe

    'code
    'code
    'code

    Wait 200

  Loop
End Sub

Sub cmdStop_click(oEvt As Object)
        bStopMe = True
End Sub
--------------------------------


La stessa cosa si può fare anche con cicli For, basta mettere all'interno del ciclo l'istruzione:

        If bStopMe Then Exit For



ciao
Paolo M



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Rispondere a