Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.13;
Скачать: CL | DM;

Вниз

изменить порядок обработки событий.   Найти похожие ветки 

 
Зина   (2003-01-16 13:39) [0]

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

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

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


 
Digitman ©   (2003-01-16 13:45) [1]

возможно

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


 
MBo ©   (2003-01-16 13:45) [2]

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


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


> MBo


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


 
jack128 ©   (2003-01-17 09:15) [4]

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


 
Digitman ©   (2003-01-17 09:40) [5]


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


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



Страницы: 1 вся ветка

Текущий архив: 2003.03.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.018 c
1-39265
Colt
2003-03-03 13:21
2003.03.13
Плавающий индикатор


4-39629
pirat
2003-01-21 22:54
2003.03.13
где взять GetMessageText ?


1-39301
msoftware
2003-03-03 09:06
2003.03.13
FileStream.CopyFrom - неработает!


1-39413
MetalFan
2003-03-03 13:11
2003.03.13
событие в другом юните.


4-39626
saxson
2003-01-21 16:46
2003.03.13
hook