Merci pour vos reponses.
J'ai essayer avec un timer qui se declenche pour le moment toutes les 10 secondes.
Voici le code :
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
| public class ThreadAMI
{
public ThreadAMI()
{
Utils.Session.GetInstance().myThread = new Thread(new ThreadStart(ThreadLoop));
// Lancement du thread
Utils.Session.GetInstance().myThread.Start();
}
public void ThreadLoop()
{
if (Utils.Session.GetInstance().myThread.ThreadState == ThreadState.Running)
{
Thread.Sleep(500);
StreamReader sr = new StreamReader("C:\\toto.txt");
string ligne = sr.ReadLine();
if (ligne.Trim() == "5")
{
System.Windows.Forms.MessageBox.Show("ok");
}
}
}
public void KillThread()
{
if (Utils.Session.GetInstance().myThread != null)
{
Utils.Session.GetInstance().myThread.Abort();
}
}
} |
Le probleme c'est que toutes les 10 secondes il m'affiche 2 fois le messagebox "ok" ????
Je ne comprend pas pourquoi ?
En mode débogage je rentre sur la ligne
if (Utils.Session.GetInstance().myThread.ThreadState == ThreadState.Running)
mais ensuite il ne va pas dans la boucle mais affiche quand meme le messagebox "ok" puis ensuite il rentre dans la boucle pour m'afficher le message "ok".
On dirait qu'il boucle 2 fois sur la methode ThreadLoop() ??
Merci de votre aide
Partager