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

C++/CLI Discussion :

esque un thread stop une boucle infinie?


Sujet :

C++/CLI

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 33
    Points : 25
    Points
    25
    Par défaut esque un thread stop une boucle infinie?
    Bonjour,

    dans ce programme j'ai essayé de stopé un thread mais il affiche une exception et j'ai fait le try et catch l'exception la même chose il ne bloc pas la boucle il fait une message "la référence d'objet n'est pas définie a une instance d'un objet

    An unhandled exception of type 'System.NullReferenceException' occurred in mscorlib.dll
    Additional information: La référence d'objet n'est pas définie à une instance d'un objet.

    Thread ^trd;

    private: System::Void button16_Click(System::Object^ sender, System::EventArgs^ e)
    {
    Thread ^trd = gcnew Thread(gcnew ThreadStart(this, &BHIDS00::Form1::mess1));
    trd->Start();
    //ThreadTask();

    }
    void mess()
    {
    try
    { trd->Abort();
    }
    catch (ThreadAbortException ^ e)
    {
    MessageBox::Show(e->Message);
    }
    MessageBox::Show("thread arrété");

    mess1();
    }
    void mess1()
    { MessageBox::Show("Thread lancé");
    mess();
    }

    comment donc stoppez une boucle infinie ??????????????

    Merci

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Citation Envoyé par aefmaaradji84
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Thread ^trd;
     
    private: 
    System::Void button16_Click(System::Object^ sender, System::EventArgs^ e) 
    {
    	Thread ^trd = gcnew Thread(gcnew ThreadStart(this, &BHIDS00::Form1::mess1));
    	trd->Start();
    	//ThreadTask();
    }
     
    void mess()
    {
    	try 
    	{
    		trd->Abort();
    	}
    	catch (ThreadAbortException ^ e)
    	{ 
    		MessageBox::Show(e->Message);
    	}
    	MessageBox::Show("thread arrété");
     
    	mess1();
    }
     
    void mess1()
    {
    	MessageBox::Show("Thread lancé");
    	mess();
    }
    Je ne vois pas une boucle infinie, là-desans...
    Par contre, je vois des appels récursifs infinis, une utilisation inutile de variable partagée d'un thread à l'autre...

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Avril 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2005
    Messages : 87
    Points : 65
    Points
    65
    Par défaut
    Hello,
    1) Un poil de politesse fait toujours du bien, du genre Bonjour/Merci
    2) Utilise stp la balise [CODE], elle est faite pour.
    3) Avant de poster, merci de chercher sur le site (FAQ incluse... )
    Voici tout de même la solution : http://dotnet.developpez.com/faq/cpp...ing#stopthread

    a+

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 33
    Points : 25
    Points
    25
    Par défaut Merci pour tés remarque Aymerik
    Bonjour,
    pardan j'ai oublié de bonjour et merci dans le forum
    Merci pour tés remarque mr Aymerik.

    Merci,

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 33
    Points : 25
    Points
    25
    Par défaut
    Bonjour,

    mais donc comment utilisé un thread pour stopé les appelles apple récursive

    Merci,

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 705
    Points
    705
    Par défaut
    Bonjour
    mais donc comment utilisé un thread pour stopé les appelles apple récursive
    Cela ne se fait pas tout simplement !
    Si tu en as besoin c'est que tu as un problème de conception... Peut-être que tu n'as pas nécessairement besoin de récursivité.

    La récursivité est parfois la meilleure solution mais il ne faut l'utiliser quand il y a des solutions plus adéquates !

Discussions similaires

  1. Réponses: 18
    Dernier message: 26/04/2006, 11h39
  2. Une boucle infinie crontab
    Par tsing dans le forum Administration système
    Réponses: 10
    Dernier message: 10/04/2006, 10h28
  3. Select qui fais une boucle infinie
    Par MaitrePylos dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 28/03/2006, 17h29
  4. Réponses: 10
    Dernier message: 24/12/2005, 15h35
  5. [FTP] comment corriger une boucle infinie ?
    Par sofybj dans le forum Langage
    Réponses: 8
    Dernier message: 08/11/2005, 14h49

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