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 :

[C#] Thread et events dans une form


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 70
    Points : 45
    Points
    45
    Par défaut [C#] Thread et events dans une form
    Hello,

    j'ai un petit problème avec un thread et je n'arrive pas à comprendre pourquoi !!

    J'ai crée une form tout ce qu'il y a de plus normal.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public partial class Form1 : Form
        {
            Thread myThread = null;
    J'ai déclaré mon thread comme ceci.

    Puis dans un premier event je fais la chose suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Thread myThread = new Thread(new ThreadStart(threadFunct));
                myThread.Start();
    Jusque là tout ce passe bien, le thread se lance et tout roule.

    Mon problème apparait lorsque je fait la chose suivante dans un Autre Event

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     private void button2_Click(object sender, EventArgs e)
            {
                myThread.Abort();
                myThread.Join();
     
            }// threadFunct()
    Mon myThread est null !!!! Pourquoi ??

    Est ce par rapport au thread principal ???
    Pourquoi ne puis je pas détruire le thread ???

    Merci d'avance pour vos réponse .


  2. #2
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    il me semble que lorsque le thread fini d exécuter ta fonction revient à null... à vérifier...

    au pire.. essaie d exécuter une boucle infinie dans ta fonction threadFunct et voir ce que ça donne


    et puis pour la gestion des threads,,, le backgroundWorker est très bien et beaucoup plus simple à gérer..
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  3. #3
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    si tu fait ça :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Thread myThread = new Thread(new ThreadStart(threadFunct));
                myThread.Start();

    c'est normal que myThread soit soit null .... tu duplique la variable myThread dans ta fonction et ce faisant tu masque la variable globale. Résultat seul la variable locale à ta fonction et instancié .


    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    myThread = new Thread(new ThreadStart(threadFunct));
                myThread.Start();
    marchera bcp mieux
    - MVP C#
    -Tout problème a une solution, le vrai problème est de trouver la solution .....
    - Linux & mono : l'avenir

  4. #4
    Membre du Club
    Inscrit en
    Février 2004
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 70
    Points : 45
    Points
    45
    Par défaut
    Hello,

    Merci vos réponses.

    Et dev01, t'as tout à fait raison, je suis vraiment une grosse m.... !!!

    J'ai pas bien lu mon code et résultat j'ai perdu du temps mais merci pour la relecture !!!

    Erreur de débutant, dsl

    Merci à tous !!

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

Discussions similaires

  1. [VB6] [Excel] Feuille dans une form, sans excel installé
    Par ro2v dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 05/05/2010, 12h45
  2. Réponses: 5
    Dernier message: 28/03/2010, 22h47
  3. Tabulation dans une form avec entrée
    Par Cl@rk dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/05/2008, 12h09
  4. Comment faire pour faire glisser un objet dans une form ?
    Par Olun dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 05/09/2005, 17h49
  5. [C#] Travailler efficacement avec les panels dans une forme
    Par WwiloO dans le forum Windows Forms
    Réponses: 8
    Dernier message: 27/06/2005, 15h33

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