Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

threads

2 réponses
Avatar
philippe doulet
bonjour a tous

un petit souci concernant l'utilisation des threads :

sur une fenetre (Form3) je dessine un circuit sur lequel je deplace un objet
graphique.
ca se passe bien sans thread , avec un seul objet a dplacer
si je veux deplacer N objets , je dois creer N threads ( j' ai trouve sur
http://emerica.developpez.com/csharp/threads/
comment parametrer N threads)

le Hic , c'est que ma Form ou le circuit est dessine doit faire appel a la
classe de threads qui eux memes
doivent faire appel a la form dans laquelle je dessine mes objets

ci joint ce que j'ai trouve sur le site nomme + haut :
>>

l'appel dans Form3
/*************************************/
public void startItineraire(int NumIti)
{
MyThreadHandle threadHandle = new MyThreadHandle(NumIti);
Thread t = new Thread(new ThreadStart(threadHandle.ThreadLoop));
t.Start();
}

la classe
/*************************************/
public class MyThreadHandle
{
int myParam;
Form3 m_form ;
// Constructeur
public MyThreadHandle(int myParam)
{
this.myParam = myParam;
}
// Méthode de modification du paramètre
public void SetParam(int param)
{
this.myParam = param;
}
// Méthode boucle du thread >> on doit faire avancer l'objet sur un
itineraire
public void ThreadLoop()
{
m_form.StartSimulation(myParam);

//StartSimulation(myParam) est une boucle qui parcourt le circuit dessiné et
positionne un objet graphique
//en differents points du circuit . je fais donc appel aux fonctions
graphiques propres a la form
}
}
>> il est bien evident que le compilateur me dit que m_form n'est pas
>> assigné et que sa valeur sera null
mais je ne peux pas faire Form3 m_form = new Form3();

car dans ce cas je re-ouvre une autre form et tout se ré-initialise !!!!


quelqu'un peut-il m'aider ?
merci d'avance

2 réponses

Avatar
Fred
"philippe doulet" a écrit dans le message
de news:4846c0f8$0$936$
bonjour a tous



Bonjour,

sur une fenetre (Form3) je dessine un circuit sur lequel je deplace un
objet graphique.



le Hic , c'est que ma Form ou le circuit est dessine doit faire appel
a la classe de threads qui eux memes
doivent faire appel a la form dans laquelle je dessine mes objets




Passer la forme en paramètre du constructeur de la classe ThreadHandle
devrait résoudre ce problème.

--
Fred

Avatar
philippe doulet
merci , c'est OK


"Fred" a écrit dans le message de news:

"philippe doulet" a écrit dans le message de
news:4846c0f8$0$936$
bonjour a tous



Bonjour,

sur une fenetre (Form3) je dessine un circuit sur lequel je deplace un
objet graphique.



le Hic , c'est que ma Form ou le circuit est dessine doit faire appel a
la classe de threads qui eux memes
doivent faire appel a la form dans laquelle je dessine mes objets




Passer la forme en paramètre du constructeur de la classe ThreadHandle
devrait résoudre ce problème.

--
Fred