Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2011, 00:56   #1
RebOOter
 
Аватар для RebOOter
 
Регистрация: 03.06.2011
Сообщений: 7
По умолчанию Переключение активности

В программе при нажатии кнопки форсируются некоторые события, вслед за которыми идет действие ИИ. Дабы успевать за шустрым ИИ от пользователя в определенные моменты требуется нажать пробел.
Возникла такая ситуация: нажал пробел, произошло форсирование событий, начались действия ИИ, программа запросила пробел, выдал ей пробел, действия ИИ закончились, а дальше произошло новое форсирование событий.
Предполагаю, что при нажатии пробела во время действий ИИ, он запоминает его в буфере гораздо дольше, чем нужно. В итоге при окончании действий кнопка форсирования нажимается вновь.
Теперь собственно вопрос: что лучше предпринять для решения этой проблемы? Очищать буфер после нажатия пробела или же переключать активность с кнопки на форму, после нажатия на первую? И, естественно, как это сделать
RebOOter вне форума Ответить с цитированием
Старый 07.06.2011, 09:58   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Проблема описана, конечно, вроде понятно, но без кода Вам вряд ли кто поможет .. лучше если прикрепите проектом, чтобы сразу в среде смотреть.

Ну а вообще, дебаг Вам в помощь ! F4 F5 F7 F8
phomm вне форума Ответить с цитированием
Старый 07.06.2011, 10:03   #3
Черевон
 
Регистрация: 05.06.2011
Сообщений: 8
По умолчанию

Тут, конечно, без кода не разберешься, скинь код программы в тему
Черевон вне форума Ответить с цитированием
Старый 07.06.2011, 18:08   #4
RebOOter
 
Аватар для RebOOter
 
Регистрация: 03.06.2011
Сообщений: 7
По умолчанию

Из кода много чего не приведешь, разве что процедуру, которая ожидает от пользователя нажатия клавиши:
Код:
procedure TForm1.WaitUser;
begin
  Frame51.Label2.Show;
  Frame51.Label2.BringToFront;
  Frame51.Repaint;
  repeat

  until GetAsyncKeyState(32)<>0;
  Frame51.Label2.Hide;

end;
Перед этой процедурой нажимается Button, в котором просто активируется булева переменная. После выполнения процедуры, описанной выше, Button нажимается повторно "сам".
RebOOter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка программы мониторинга сетевой активности на Delphi ИринаForeve Работа с сетью в Delphi 25 31.05.2011 22:38
Проверка активности ячейки Solex Microsoft Office Excel 3 10.02.2010 06:27
Переключение в TreeView Maxs Общие вопросы Delphi 5 03.06.2009 14:58
Протоколирование активности пользователя XPAiN Общие вопросы Delphi 4 17.04.2009 09:22
Про время активности форума goblinyara Свободное общение 4 22.01.2009 21:07