begin process at 2010 02 10 11:55:27
  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

Accès [ par fredza ] Bonjour et bonne année à toutes et tous,J'ai un fichier ip.cs voilà brièvement son contenu :namespace iprog{ /// /// Description résumée de ip. /// mdiChild et toolBox [ par ibr4u ] Bonjour, pour faire vite :J'ai une toolBar dans une Form Parent (formParent). J'ai deux Form filles rattachées à formParent (formFille1 et formFille2) Multi threading using TCP and socket [ par gdupasqu ] Bonjour,je suis entrain d'écrire un programme (client et serveur).Le serveur fonctionne comme ceci: 1. Le serveur écoute sur un port fixé. 2. Lorsqu'u Multi Threading en utilisant TCP [ par gdupasqu ] Bonjour,je suis entrain d'écrire un programme (client et serveur).Le serveur fonctionne comme ceci:1. Le serveur écoute sur un port fixé.2. Lorsqu'un Les threads sont lents :-( [ par Fildomen ] salutj'ai un prog (tcpclient) où la rapidité compte vraiment,et j'ai réalisé que quand j'utilise les thread, mon prog devient lent, et quand j'execute les threads 2005 sont extrement minimisé [ par Fildomen ] sltj'ai toujours des problèmes avec la version 2005, et + précisement avec les threads, voilà mon problème:j'ai une form qui appel un sub, et ce sub c Generer des points aleatoirement !? [ par jimmy69 ] Bonjour  a tous ,Je suis sous visual studio . net et j'apprends le c sharp !Je me suis fait une class que j'ai nomme MyPoint.cs que voici :----------- Les threads.... [ par Arthenius ] Salut tout le monde,j'ai une petite question concernant les threads....Voila le contexte, j'ai un objet herite d'un datagrid qui permet de charger des Accès partagés entre threads [ par CMatt ] Bonjour à tous! voici qq lignes de codes qui résume ce que je fais : using System; using System.Drawing; using System.Threading; public class Anima Serveur UDP [ par Sobieski ] Salut.Je voudrais printer dans la console ce qui arrive en UDP sur le port 4321. J'ai fait un bout de code mais ca plante comme il faut :/ using Syste


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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,562 sec (4)

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