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 !!!!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
"philippe doulet" <philippe.doulet@wanadoo.fr> a écrit dans le message
de news:4846c0f8$0$936$ba4acef3@news.orange.fr...
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.
"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
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
merci , c'est OK
"Fred" <foleide@free.fr.invalid> a écrit dans le message de news:
3FF4228B-7222-42ED-B682-32CA82531845@microsoft.com...
"philippe doulet" <philippe.doulet@wanadoo.fr> a écrit dans le message de
news:4846c0f8$0$936$ba4acef3@news.orange.fr...
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.
"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.