Mam taki kod:
/* metoda do zdalnego resetowania drukarki */
private void delays()
{
delay_flag = true;
tdelay = new Timer();
tdelay.Tick += new System.EventHandler(timer_delay_event);
tdelay.Interval = 150;
tdelay.Enabled = true;
tdelay.Start();
/* oczekiwanie na doliczenie opóźnienia */
while (delay_flag);
}
private void timer_delay_event(object sender, EventArgs e)
{
tdelay.Stop();
tdelay.Enabled = false;
delay_flag = false;
}
czemu po wywołaniu metody delays()
program zawiesza się jeśli przecież po zadanym czasie timer doliczy do wskazanej wartości i wywoła zdarzenie timer_delay_event
które przestawi flagę na false
co powinno z kolei umożliwić "odwieszenie". Program jednak nie odwiesza się, pytanie dlaczego?