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# Discussion :

Exception Thread !


Sujet :

C#

  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 30
    Par défaut Exception Thread !
    Salut à tous,

    j'ai un petit problème avec les threads, je connais pas encore très bien leurs fonctionnement.

    Alors, au chargement de ma form, j'éxecute un thread pour charger des images en arrière plan. Et une fois le thread terminé, je fais un callback. Pour continuer à utiliser ma form. Ca c'est la théorie.

    Maintenant, dans la pratique il me met une erreur "Les contrôles créés sur un thread ne peuvent pas être parents d'un contrôle d'un autre thread.".

    Est ce qqun aurait déjà rencontré ce genre de problème ? mon code en dessous.

    Si jamais, il plante sur "Controls.Add(img_tasse);" et aussi c'est un programme pour Windows CE donc ne vous posez pas trop de question au sujet de ma manière de faire.

    Merci

    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
    31
    32
    33
    34
    35
     
    public main()
    {
      _threadLoadPictures = new Thread(new ThreadStart(threadLoadPictures));
      _threadLoadPictures.Name = "name_threadLoadPictures";
      _threadLoadPictures.Start();
      .....
    }
    ...
     
    private void threadLoadPictures()
    {
    	// Dessine la Tasse vide
    	path = "./ffsdisk/img_tasse_vide.gif";
    	if (File.Exists(path))
    	{
    		img_tasse = new PictureBox();
    		img = new Bitmap(path);
     
    		img_tasse.Image = img;
    		img_tasse.Location = new System.Drawing.Point(40, 34);
    		img_tasse.Name = "Tasse";
    		img_tasse.Size = new System.Drawing.Size(240, 206);
     
    		img_tasse.MouseDown += new MouseEventHandler(img_tasse_MouseDown);
    		img_tasse.MouseMove += new MouseEventHandler(img_tasse_MouseMove);
    		img_tasse.MouseUp += new MouseEventHandler(img_tasse_MouseUp);
     
    		img_tasse.Visible = false;
     
    		Controls.Add(img_tasse);
    	}
     
    	returnLoadPictures();
    }

  2. #2
    Invité de passage
    Inscrit en
    Juillet 2005
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 1
    Par défaut j'ai un petit problème avec les threads, je connais pas encore très bien leurs foncti
    Salut,
    Ce que je connais est qu'un thread crée ne peut pas manipuler les composant d'un autre thread entre autres ceux du parent. Vous devez faire appel à Invoke. Dans ce contexte, vous pouvez Consultez http://samples.gotdotnet.com/quickst...mpactframework concernant "Invoking Method Parameters on a Thread".

Discussions similaires

  1. Exception Thread 0x00000fa4 !?
    Par stalacta dans le forum Général Python
    Réponses: 9
    Dernier message: 20/12/2013, 11h27
  2. Réponses: 1
    Dernier message: 08/11/2008, 22h46
  3. [thread] Exception non catchée
    Par mammistegon dans le forum Concurrence et multi-thread
    Réponses: 3
    Dernier message: 22/11/2004, 21h43
  4. [Kylix] exception qtinft.dll et multi-threading
    Par leclaudio25 dans le forum EDI
    Réponses: 3
    Dernier message: 27/03/2003, 18h09
  5. Réponses: 5
    Dernier message: 12/06/2002, 15h12

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