begin process at 2010 02 10 12:26:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Au secours

 > 

Arret d'un thread


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

Arret d'un thread

dimanche 9 janvier 2005 à 16:37:32 | Arret d'un thread

icedreamer

Bonjour,

J'essaye d'arreter proprement un thread de cette manière :
t.Abort();
ce qui effectue bien l'arret du thread ...mais il m'affiche un message :
"Thread was being aborted"

Comment puis-je "bloquer" ce message et afficher un message perso ?
(Note : j'ai essayé avec try/catch mais sans résultats)

Merci de votre aide !
dimanche 9 janvier 2005 à 17:48:19 | Re : Arret d'un thread

MorpionMx

Membre Club Administrateur CodeS-SourceS

Tu n'arrives pas a catcher l'exception ThreadAbortException ?
dimanche 9 janvier 2005 à 18:05:03 | Re : Arret d'un thread

MorpionMx

Membre Club Administrateur CodeS-SourceS
Tu peux toujours aussi attendre la fin de l'execution du Thread, avec la méthode tonThread.Join();

Mais tu devrais poster un bout de code pour qu'on puisse t'aider plus efficacement.

Mx
dimanche 9 janvier 2005 à 19:24:16 | Re : Arret d'un thread

icedreamer

Je viens d'essayer et je peux catcher l'exception au niveau de la fonction appeler par le thread mais j'ai toujours le message en plus de mon propre message !
//**********************

private void LaunchDownload()

{

t = new Thread(new ThreadStart(DownloadFiles));

t.Start();

}

public void DownloadFiles()
  {
   try{
    //Téléchargement d'un ou plusieurs fichiers
   }
   catch(ThreadAbortException tex)
   {
    ut.Mbox("debug",tex.Message,1);
   }
  }

void BtnCancelClick(object sender, System.EventArgs e)

{

t.Abort();

}

Voilà

dimanche 9 janvier 2005 à 19:44:39 | Re : Arret d'un thread

MorpionMx

Membre Club Administrateur CodeS-SourceS
J'ai pris une form avec 2 boutons (button1 et button2). Compilé en exe pour pouvoir ecrire dans la console.
Avec le code ci dessous, (qui n'a rien de special), ca marche.
Si je commente le message dans le catch, je n'ai pas de message (mais ca ne plante pas).
C'est le résultat voulu il me semble. Donc apres je comprends pas pourquoi ca marche pas chez toi.
Si tu veux un message perso a la place du "Thread wad being aborted", tu changes juste
Console.WriteLine(tex.Message);
par
Console.WriteLine("Mon message perso");

[code]
private void LaunchDownload()
{
     t = new Thread(new ThreadStart(DownloadFiles));
     t.Start();
}

 public void DownloadFiles()
{
    while(true)
    {
         try
        {
            Console.WriteLine(""+ i++);
            Thread.Sleep(100);
        }
        catch(ThreadAbortException tex)
        {
             Console.WriteLine(tex.Message);
        }
    }
}

private void button1_Click(object sender, System.EventArgs e)
{
         t.Abort();
}

private void button2_Click(object sender, System.EventArgs e)
{
     LaunchDownload();
}

[/code]

Mx
jeudi 13 janvier 2005 à 21:51:25 | Re : Arret d'un thread

icedreamer

Enfin !

Je viens de trouver ! En fait j'avais deux try/catch imbriqués et j'avais catché le tex dans le try le plus haut donc ...
Solution : Supprimé un catch !

Merci pour ton aide !

Code :
try{
    aa
    bb
    try{
          cc
          dd
   }
   catch(Exception e) { mon message}
   ee
}
catch(ThreadAbortException tex) { mon message }

PAS BON !!!

try{
    aa
    bb
}
catch(ThreadAbortException tex) { mon message }

BON !


Cette discussion est classée dans : message, arret, thread


Répondre à ce message

Sujets en rapport avec ce message

Pb d'affichage de fenetre et thread... [ par bigflo ] Salut,Je developpe un client de tchat en c#.Mais j'ai quelque pb d'affichage des fenetres de tchat. Explication:Bon, j'ai une treeview et lorsque je d Probleme arret programme | Thread [ par ChamY ] Bonjour,j ai un ptit probleme pour terminer mon programme.Un de mes boutons lance une tache de ma classe annexe. Cette tache ouvre un socket et attend Ca marche...qu'avec un point d'arret ! [ par zigxag ] Bonjour !je sollicite votre aide car là je ne vois plus de solution à mon probleme...J'ai mis en place une communication client/server par socket, en Thread Events Invoke --> Je rends les armes .... [ par ylerazer ] Bonjour, je suis nouveau en C# et j'essaie de me faire des classes intelligentes .. mais j'ai bien peur qu'elles ne soient plus intelligentes que moi. PB avec activeX [ par titi66 ] Bonjourj'utilise un activex pour controler des caméras IP , lorsque je veux afficher une deuxieme fenetre avec une caméra j'ai le message suivant : "I thread et variable de classe [ par neoisback ] Bonjour,Je vous explique mon probleme :je developpe un server tcp dans le cadre d'un projet, j'ai creer une form afin de suivre les information que re Fermeture application [ par thebigboss ] Bonjour,j'ai un petit soucis, je suis en train de développer une petite appli à base de Thread, de TCPClient, de NetworkStream, de TCPListener et de S Problème avec Mon appli [ par Noursounet ] Bonjour à tous! Je me suis mis il y a pas très longtemps au C#. Je développe donc en ce moment mes propres DLL de Client/Serveur et par habitude j'aim Arret de thread [ par johnnous ] bonjour j'ai créer une classe hérité d'un label dans la quelle j'ai un thread (lisant une info exterieur) et l'affichant dans le label cela marche pas Transfert données entre une Thread et un Form [ par walteau ] Bonjour à tous, je suis en train de développer dans le cadre d'experimentation une application qui envoi un message Udp vers le port 11000 de mon pc.


Nos sponsors


Sondage...

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

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