5 / 5 / 1
Регистрация: 10.07.2013
Сообщений: 99
1

Обработка нескольких событий

27.08.2013, 12:18. Показов 1047. Ответов 5
Метки нет (Все метки)

На форму за короткое время приходит несколько (3-7) одинаковых событий, которые вызывают в свою очередь один и тот же метод. Каким образом можно обработать этот спам и вызвать нужный метод 1 (ну или на крайний случай 2) раза?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.08.2013, 12:18
Ответы с готовыми решениями:

Обработка событий от мыши С++
Форумчане, сильно прошу, просто умоляю подкинуть какой то информации по обработке событий на чистом...

CodeBlocks и Graphics.h обработка событий
Всем привет! Нужно написать программу в CodeBlocks, а раньше я писал в Visual. Написал программу,...

Обработка событий (events) в Visual Studio
У меня есть два события, они выполняют одинаковые действия, можно ли как то сделать вызов одного...

Как задать выполнение нескольких событий на нажатие одной кнопки
Добрый день всем! На форме расположен компонент TListView. По нажатию на заголовок столбца нужно...

5
6 / 6 / 1
Регистрация: 27.11.2012
Сообщений: 160
27.08.2013, 12:28 2
мб таймер, когда происходит событие запускаешь таймер запоминаешь событие, например, если 1 секунду оно не вызывалось или пошло другое, то вызываешь его, а таймер stop
0
3254 / 2056 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
27.08.2013, 12:35 3
Таймер - да, но еще было бы неплохо разобраться что за события, почему они посылаются, мб ошибка чуть раньше.
0
5 / 5 / 1
Регистрация: 10.07.2013
Сообщений: 99
27.08.2013, 13:07  [ТС] 4
Цитата Сообщение от 0x10 Посмотреть сообщение
Таймер - да, но еще было бы неплохо разобраться что за события, почему они посылаются, мб ошибка чуть раньше.
При изменении состояния оборудования (например, при вытаскивании флешки), приходит несколько сообщений об изменении конфигурации: извлечение тома из двух веток, извлечение скрытых томов, изменение служебной информации и т.д. Мне нужно чтобы по этим сообщениям была обновлена структура дерева (метод renew() запушен), а он довольно тяжелый. Поэтому при его спаме программа фиснет секунд на 10 - это нехорошо.

Цитата Сообщение от luciys Посмотреть сообщение
мб таймер, когда происходит событие запускаешь таймер запоминаешь событие, например, если 1 секунду оно не вызывалось или пошло другое, то вызываешь его, а таймер stop
Идея была такая, пробовал реализовать - спам остался, видимо накосячил.
0
6 / 6 / 1
Регистрация: 27.11.2012
Сообщений: 160
27.08.2013, 13:11 5
dBuSh83, так смотри, запустил программу, произошло событие, запомнил, проигнорировал его, а потом его повторы тоже игноришь, потом уже при смене ты его вызываешь, а запоминаешь другое, таймер обнуляешь, а если просто время истекло, то вызываешь событие, обнуляешь где запоминал и останавливаешь таймер
0
5 / 5 / 1
Регистрация: 10.07.2013
Сообщений: 99
29.08.2013, 12:57  [ТС] 6
Цитата Сообщение от luciys Посмотреть сообщение
потом уже при смене ты его вызываешь, а запоминаешь другое
Тут опять же есть недостаток большой: события приходят не заподряд, те может быть такая очередь:С1СС23С4С, где С - нужное событие, 1-4 другие события. Те в данной ситуации 4 раза вызовется действие - не большой прирост производительности.

Проблему в некоторой мере решил так: при певрвом перехвате события включаю таймер на 1сек и увеличиваю счетчик, если по истечении времени счетчик изменился, то происходит нужный вызов и обнуление счетчика, а иначе снова вызывается таймер и снова проверка счетчика и тд. Максимум 3 вызова фунции происходит. Часто перекрывает всю очередь и вызывается всего 1 раз. Все-таки, получше чем было!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2013, 12:57
Помогаю со студенческими работами здесь

Тетрис - Реализация таймера и обработка событий с клавиатуры
Пишу консольный тетрис. Столкнулся с проблемой таймера и перехвата событий с клавиатуры. Раньше с...

Коды клавиш и обработка событий клавиатуры в консоли
Многие часто спрашивают один и тот же вопрос по поводу обработки событий нажатия клавиш в консоли....

Обработка нескольких исключений
Здравствуйте, возможно мой вопрос глупый, но я не нагуглил ответа и мне осталось только спросить....

Обработка нескольких строк
Помогите, честно, я прочитала много статей, они мне не помогли, понимаю, что вопрос глупый и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru