Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

изменить порядок обработки событий. [D5]


Зина ©   (2003-01-16 13:39:00) 

Мастера, помогите пожалуйста !
Я работаю с "железом" (СОМ-порт, к примеру).
Посылаю данные, жду ответа.
Пока жду, кручусь в цикле
Application.ProcessMessages;

Но я не хочу, чтобы обрабатывались события от мыши и клавиатуры.
Только системные, таймер и.т.п.
Но эти нажатия на кнопки не должны совсем пропасть, а должны остаться в очереди до лучших времен.
Когда завершится эта процедура.

Такое возможно ?


Digitman   (2003-01-17 09:40:00) [1]


> События от порта ждутся с помощью WaitCommEvent


Совершенно необязательно. Ожидание коммуникационных событий вполне можно совместить с ожиданием любых других объектов синхронизации и Win32-сообщений, циклически вызывая в осн.код.потоке в MsgWaitForMultilpleObjects(). До тех пор, пока не сработало коммуник.событие, можно получив сообщения от мыши/клавы оставлять их в очереди и не обрабатывать по TranslateMessage()/DispatchMessage()


jack128   (2003-01-17 09:15:00) [2]

Я так понимаю полюбому надо выносить в отдельный поток
События от порта ждутся с помощью WaitCommEvent, SetCommMask


Digitman   (2003-01-16 13:48:00) [3]


> MBo


Если обработка вх.данных несложная, imho, нет резона выносить ее в доп.код.поток.... а вот сложная иль несложная - это автору определяться нужно


Digitman   (2003-01-16 13:45:00) [4]

возможно

приведи весь фрагмент кода отправки-ожидания-приема, че-нть посоветуем дельное


MBo   (2003-01-16 13:45:00) [5]

почему бы не работать с портом в отдельном потоке, тогда в главном можно вытворять что угодно


Наверх

Титульная страница Поиск, карта сайта Написать письмо