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

Windows Forms Discussion :

[.NET 2.0] Probleme de BackgroundWorker


Sujet :

Windows Forms

  1. #1
    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 [.NET 2.0] Probleme de BackgroundWorker
    Bonjour j'ai découvert ce controle pour faire des transferts de fichier via des sockets mais j'ai un problème ! (sans blague ^^)

    Donc, en fait le problème vient que je veux montrer la progression du transfert à l'utilisateur avec ce controle et notamment sa procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Private Sub Bgw_ProgressChanged(ByVal sender As Object, ByVal e As System.ComponentModel.ProgressChangedEventArgs) Handles Bgw.ProgressChanged
            Pb.Value = e.ProgressPercentage
        End Sub
    Le problème c'est que j'appelle la méthode Bgw.RunWorkerAsync(Arguments) dans un autre thread que le thread principale (enfin je crois)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     Private Sub Client_Receive_String(ByVal Message As String, ByVal Sock As Socket) Handles Client.Receive_String
            Dim ret As String() = Split(Message, ControlChars.VerticalTab)
     
            Select Case ret(0)
                Case "GetOk"
                    Dim file As New IO.FileInfo(T_Chemin.Text)
     
                    Client.Send("Download" & ControlChars.VerticalTab & file.FullName & ControlChars.VerticalTab & file.Length)
     
                    Arguments.Sck = Sock
                    Arguments.Size = file.Length
     
                    Bgw.RunWorkerAsync(Arguments)
            End Select
        End Sub
    Et donc l'event Bgw_ProgressChanged plante et un appel interthread est crée sur la progressbar...

    Comment remédier au problème ? Merci d'avance
    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 !

  2. #2
    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
    Autre question indépendante de la première :

    Pourquoi mon application freeze quand j'execute une procédure longue (deserialisation d'une treeview) dans un backgroundworker ??

    Pour infos, la désérialisation est longue car j'ai que 2 Nodes principaux et dedans y'a enormement de "sous nodes"...

    Pourtant ca devrais pas bloquer l'application ?
    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 !

  3. #3
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    il faudrait Exécuter la procédure de deserialization dans un thread différent.

  4. #4
    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
    euh... le backgroundworker ne s'execute-il pas deja dans un thread a part ?
    Sinon voila mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      Private Sub BgwTreeview_DoWork(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BgwTreeview.DoWork
            LoadTreeViewData(TreeView1, Application.StartupPath & "\TreeviewAll.txt")
        End Sub
    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 !

  5. #5
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    Si si ,,, mais j'ai pas fait le rapport avec ton post précédent.

    Wé tout semble bon.. je vois pas comme ça d'ou ça peut venir....

  6. #6
    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
    Quelqu'un à une idée ?
    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 !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.NET] [VB EXpress]Probleme de copyright sur fichier vb express
    Par ghyslain84 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 06/10/2006, 12h19
  2. [sharpdevelop][vb.net 2.0] probleme de licence
    Par Emcy dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/04/2006, 16h43
  3. [VB.net] Module et probleme de conversion
    Par nico10gbb dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/04/2006, 10h35
  4. [VB.NET][dataset][datagrid] probleme de Cast
    Par graphicsxp dans le forum Windows Forms
    Réponses: 3
    Dernier message: 05/05/2005, 15h18
  5. [VB.Net] Un autre probleme avec controle DropDownList
    Par angelevil dans le forum ASP.NET
    Réponses: 2
    Dernier message: 03/03/2005, 15h59

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