IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Arrêter un BackgroundWorker


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 46
    Par défaut Arrêter un BackgroundWorker
    Bonjour,

    J'ai un BackgroundWorker qui dans son code DoWork appelle une fonction qui lit une image depuis une URL, avec un WebClient.OpenRead(url).

    J'aimerai pouvoir arrêter cette lecture, j'ai essayé le BackgroundWorker.CancelAsync(), mais il n'arrête rien du tout.

    La propriété WorkerSupportsCancellation est à True.

    Je pense que c'est le OpenRead qui ne rend pas la main, mais je pensais que le CancelAsync avait la priorité et qu'il tuait tout ce que le Worker avait déclenché lorsqu'il était appelé.

    Comment puis-je faire ?
    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Par défaut
    ba mince, j'ai EXACTEMENT le meme probleme!

    Je télécharge une serie d'images thumbnails par openread et jaimerai annuler cette la serie en cours pour commencer a télécharger une autre serie.

    mais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     If sender.CancellationPending = True Then
                e.Cancel = True
                Exit Sub
            End If
    ne fonctionne pas... donc jai une exeption aevc message "background worker est actuellement occupé etc....)

    Quelqu'un à la solution??

    voila mon bout de code, qu'il faudrai arreter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    For i As Integer = 0 To count
     
     
                thumbUri = VIDEOSINFOS.File_Thumb.Item(i).FirstChild.GetAttributeValue("src", "")
                If Trim(thumbUri) <> "" Then
                    THUMBLIST.Images.Add(Image.FromStream(webclient.OpenRead(New Uri(thumbUri))))
                Else
                    THUMBLIST.Images.Add(My.Resources.nothumbnail)
                End If
                PicGrabber.ReportProgress((i / count) * 100)
            Next

  3. #3
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Essaye de vérifier si ton bgw est occupé avec IsBusy. Ensuite vérifie si ton code passe bien dans ta condition avec un point d'arret car le e.cancel = true me semble louche...

    PS : Evite les liaisons tardives car c'est pas le top et c'est source d'erreurs. (Mets Option Strict On et tu comprendras )
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

Discussions similaires

  1. Arrêter un traitement BackGroundWorked
    Par bubulemaster dans le forum Windows Forms
    Réponses: 2
    Dernier message: 30/04/2008, 22h06
  2. Arrêter une Thread brutalement!
    Par Rodrigue dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/01/2004, 21h29
  3. [DiVERS] -> Arrêter et redemarrer son programme ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 5
    Dernier message: 20/08/2003, 15h25
  4. Arrêter le PC
    Par Smortex dans le forum Assembleur
    Réponses: 5
    Dernier message: 31/12/2002, 10h48
  5. Arrêter un prog si temps de connexion trop long
    Par jakouz dans le forum Langage
    Réponses: 4
    Dernier message: 22/10/2002, 18h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo