begin process at 2012 02 08 21:03:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Process

 > 

Thread.Abort()


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Thread.Abort()

vendredi 19 mai 2006 à 10:16:21 | Thread.Abort()

nico4nicolas

Bonjour,

Pour la premiere fois, j'utilise les threads alors, pour me faire la main j'ai fait un petit programme pour voir comment ca fonctionne, j'ai compris, ca n'est pas bien complique. J'ai donc refais la meme chose dans mon application mais la...je ne comprends pas, le compilateur me genere une erreur comme quoi le Thread en question serait null lorsque je fais "Thread.Abort();". Voici le code qie j'utilise :

using System;
using System.Threading;
using System.Windows.Forms;

namespace
Project
{
    public class Threads
    {
        // Declaration of all the threads for being accessible in all the class
        public Thread video1;

        public Threads ()
        {
        }

        public void StartThreads (bool cam1)
        {
            if (cam1==true)
            {
                video1 = new Thread(new ThreadStart(AnalysePicture));
                video1.Start();
            }
        }

        public void StopThreads ()
        {
            // C'est ici que l'instruction Abort ne fonctionne pas
            try
            {
                video1.Abort();
                MessageBox.Show("Arret du thread");
            }
            catch(Exception ex)    {    MessageBox.Show("" + ex);    }
        }

        private void AnalysePicture ()
        {
            while (true)
            {
                // C'est ici que le thread travaille
                Thread.Sleep(1000);
            }
        }
    }
}


Je ne sais pas ce qui peut etre deffectueux (peut etre moi ?) mais il me semble bien avoir fait exactement pareil dans une autre class. L'intitule exact de l'erreur est :
System.NullReferenceException : Object reference not set to an instance of an object.

Merci d'avance pour toute aide qui pourrait m'etre apportee.
vendredi 19 mai 2006 à 10:25:46 | Re : Thread.Abort()

Nikoui

Question idiote, mais, tu appelle bien la méthode StartThreads avec true comme paramètre?
vendredi 19 mai 2006 à 10:27:33 | Re : Thread.Abort()

MorpionMx

Membre Club Administrateur CodeS-SourceS
Salut

Tu es sur de bien appeler la métode StartThreads avant d'appeler StopThreads dans ton code ?

Mx
MVP C#
 

vendredi 19 mai 2006 à 11:01:01 | Re : Thread.Abort()

nico4nicolas

Aucun probleme pour lancer le thread, je lance bien le thread puisque pour tester, je lancais une message box dans mon thread qui m'indiquait l'etat de celui-ci (toutes les secondes). Celui etait tout le temps running et lorsque je voulais l'arreter, il faisait l'erreur que j'indiquais dans le message precedent.

J'ai modifie mon code comme ceci :

        public Threads ()
        {
            video1 = new Thread(new ThreadStart(AnalysePicture));
        }

        public void StartThreads (bool cam1)
        {
            if (cam1==true)
            {
                video1.Start();
            }
        }

Maintenant, je n'ai plus cette erreur mais cette fois c'est le thread qui ne veut pas s'arreter alors que la methode StopThreads est bien appelee (affichage d'une message box). Alors ma nouvelle question est la suivante, comment se peut il que ce code s'execute sans pour autant arreter le thread ?

        public void StopThreads ()
        {
            // C'est ici que l'instruction Abort ne fonctionne pas
            try
            {
                video1.Abort();
                MessageBox.Show("Arret du thread");
            }
            catch(Exception ex)    {    MessageBox.Show("" + ex);    }
        }

vendredi 19 mai 2006 à 11:10:53 | Re : Thread.Abort()

Nikoui

Réponse acceptée !
Est ce que tu appelle bien là méthode StopThreads sur la même instance de ta classe Threads?
vendredi 19 mai 2006 à 11:16:40 | Re : Thread.Abort()

nico4nicolas

Merci beaucoup, c'etait ca, ce n'etait pas la meme instance de classe. Merci, merci et merci.


Cette discussion est classée dans : public, system, thread, threads, abort


Répondre à ce message

Sujets en rapport avec ce message

redemarrage d'un Thread apres un abort [ par johnnous ] Bonjour j'utilise 2 Thread le 1er est une boucle sans fin et je veux à partir de mon 2eme Thread arrêter le 1er s'il est trop long voici le sources Plantage designer suite à une modification sur le formulaire [ par Mickael1984 ] Bonjour, je suis un peu perdu sur un développement que je fais actuellement je mets le code, si quelqu'un a déjà eu ce genre de problème. Mon problè gestion de deux applis simultanées [ par Hermios ] Salut à tous, D'abord, désolé si ma question est simpliste, je suis assez débutant en C# (j'ai plus d'expérience en Java, quoique pour le coup, j'ai j threads multiples [ par omarF ] Bonjour, sil vous plait jai pas compris quest ce quelle fait cette boucle for dans ce code, quelle est l'utilité de cette boucle for voici le code : aceeder une zone de texte créer dynamiquement [ par abrim ] Bonjour Tout le monde Je débute avec c# j'ai besoin de votre aide , Moi j'ai cré un bouton et une zone de text dynamiquement avec c# sous visual stu intercepter et annuler un shutdown sous seven [ par arnahel ] Bonjour, dans le cadre d'un projet, j'ai besoin d'intercepter et d'annuler une demande de shutdown d'un utilisateur sous seven. L'application sur laq Accès Thread -> variable public [ par Spawn3107 ] Bonjour tout le monde, j'ai un petit soucis. J'aimerais bien accéder à une variable Public d'une classe via un thread créé dans l'application. Clas Gestion des erreurs WCF dans Silverlight [ par EmacLi ] Bonjour à tous, Dans mon application silverlight, je tombe sur cette erreur apparemment classique lorsqu'un service wcf est utilisé : CommunicationEx inscription en C# dans serveur [ par kaoutar90 ] SVP je veux savoir comment faire une inscription en C# dans un serveur sachant que le traitement dans le client est comme suit : using System; using S erreur de syntaxe dans l'instruction INSERT INTO :( base access [ par nizarawi ] Bonjour, svp est ce que vous pouvez m'aider??j'ai une erreur de syntaxe dans l'instruction INSERT INTO ,et alors je vous pries de bien vouloir m'aide


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales