Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Cancel Background Worker VB.NET
Forum - C# / VB.NET - Cancel Background Worker VB.NET

Avatar
NewAge (Normal User)
Pro


Messaggi: 153
Iscritto: 23/08/2009

Segnala al moderatore
Postato alle 20:04
Mercoledì, 25/11/2009
Quando uso la funzione

Codice sorgente - presumibilmente Plain Text

  1. BackgroundWorker_Controlla_Hack.CancelAsync()



all'interno della funzione do_work del BackGroundWorker mi restituisce questo errore:
Codice sorgente - presumibilmente C# / VB.NET

  1. Questo BackgroundWorker non supporta l'annullamento. Modificare WorkerSupportsCancellation in modo che supporti l'annullamento.




In poche parole vorrei terminare l'esecuzione di questa funzione con questo comando ( credo sia quello giusto )

Qualcuno ha qualche suggerimento?

PM Quote
Avatar
noitide (Normal User)
Pro


Messaggi: 107
Iscritto: 24/06/2009

Segnala al moderatore
Postato alle 20:56
Mercoledì, 25/11/2009
Testo quotato

Postato originariamente da NewAge:

Quando uso la funzione

Codice sorgente - presumibilmente Plain Text

  1. BackgroundWorker_Controlla_Hack.CancelAsync()



all'interno della funzione do_work del BackGroundWorker mi restituisce questo errore:
Codice sorgente - presumibilmente C# / VB.NET

  1. Questo BackgroundWorker non supporta l'annullamento. Modificare WorkerSupportsCancellation in modo che supporti l'annullamento.




In poche parole vorrei terminare l'esecuzione di questa funzione con questo comando ( credo sia quello giusto )

Qualcuno ha qualche suggerimento?  


allora... devi dichiarare questo prima di usare il comando RunWorkerAsync
Codice sorgente - presumibilmente Plain Text

  1. BackgroundWorker_Controlla_Hack.WorkerSupportsCancellation = True


poi per utilizzarlo prova così anke se penso sia un metodo scomodo e rozzo xò funziona:
Codice sorgente - presumibilmente VB.NET

  1. Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
  2. 'tuo codice
  3. If BackgroundWorker_Controlla_Hack.CancellationPending = True Then
  4.             Exit Sub
  5.         End If
  6. 'etc il tuo codice


e poi se vuoi far apparire tipo una msgbox quando cancelli l'evento basta ke fai così:
Codice sorgente - presumibilmente VB.NET

  1. Private Sub prova() Handles BackgroundWorker1.RunWorkerCompleted
  2.         MsgBox("Fine")
  3.     End Sub


:k:

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 18:05
Giovedì, 26/11/2009
Ma io non capisco cosa ci sia di difficile. Hai pure la descrizione in italiano, chiarissima e precisa:
"Questo BackgroundWorker non supporta l'annullamento. Modificare WorkerSupportsCancellation in modo che supporti l'annullamento. "
Cioè, praticamente ti dice lui cosa fare... Ma li leggete almeno gli errori? A me viene il dubbio...

PM Quote