Bonjour a tous !
voila j'ai un soucis
j'ai crée une application qui change la config réseau d'un poste.
j'ai ma thread principale qui est sensée m'afficher l'état de ma config, et mon backgrounWorker qui lui est sensé paramétrer mon poste !
donc en gros j'ai une form "Attente" avec un message qui change selon l'etat.
pour cela j'ai créer un tableau d'autoevenReset comme ceci :
puis j'ai dans mon main des wait qui me permette de changer le mess selon les renvois de mon backgrnd :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 chgconfig = new AutoResetEvent[] { new AutoResetEvent(false), new AutoResetEvent(false), new AutoResetEvent(false) };
Voila mon background renvoi lui a la fin de chacun des processus de config un : chgconfig[0].Set() , puis chgconfig[1].Set()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 windows.message.Text = "Configuration de votre adresse ip en cours...Merci de patienter"; chgtconfig.WaitOne(); windows.message.Text = "Configuration de vos DNS en cours...Merci de patienter"; chgtconfig.WaitOne(); windows.message.Text = "Configuration de vos lecteurs réseaux...Merci de patienter."; chgtconfig.WaitOne(); windows.message.Text = "Ajout de vos lecteurs réseau...Merci de patienter."; chgtconfig.WaitOne();
ce qui a pour but de relancer la main thread et donc de changer le mess jusqu'au prochain .Set
Mon problème c'est que sous Windows Vista avec visual Studio 2005 ca marche niquel , c'est à a dire que mon messsage change bien en fonction de mon backgroundWorker mais que dès que je le compile et que je le test sous XP alors la ma form Attente reste figé ! mais ma configuration de poste se passe bien !
Je précise que j'ai mis a jour les frameworks d'xp mais sans succès...
si qqun a une idée du pourquoi du comment je suis preneur ! merci d'avance !
Partager