| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Обработка прерываний |
| Автор: Aline 21.2.2008, 16:53 | ||||||
| Привет всем! Делаю проект, в котором необходимо в отдельном потоке отловить событие(прерывание) и послать сообщение. В отдельности с каждой проблемой вроде бы разобралась: как создать поток, как ожидать событие, как послать сообщение. А вот всё вместе работать не хочет... Вот частичный код:
далее...
по событию, обрабатываем:
но проблема в том, что когда прерывания идут подряд, буквально разница в считанные миллисекунды, они теряются... Что здесь можно сделать? |
| Автор: marcusmae 22.2.2008, 15:49 |
| Aline, первый фрагмент кода, видимо, находится в рутине StartRecRead()? То есть, приходит первое сообщение WM_USER - вы по нему создаёте поток, который ждёт, когда возникнет другое событие "IRK_Event", и как только оно возникает, отправляет очередное событие WM_USER, которое создаёт новый поток и т.д. Так? Ну, подозрительного вроде ничего нет, было бы по-больше коду - можно было бы потестить... |
| Автор: Aline 26.2.2008, 08:36 |
| marcusmae, нет, первый фрагмент - на кнопке. Т.е. жмешь на кнопку, запускаешь поток, как только произошло событие в StartRecRead происходит считывание данных с платы. Проблема в том, что началось считывание, а в это время могло произойти ещё одно событие и почему то оно пропадает.... Была мысль, что нужно создать очередь сообщений, но как то у нас не получилось сочередью... |