Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-39256
Silver_
2003-03-03 16:04
2003.03.13
Вставить DBCheckBox в DBGrid


1-39347
aade
2003-03-01 14:31
2003.03.13
создание Child формы


7-39599
Lobio
2003-01-17 21:55
2003.03.13
IP в локальной сети.


1-39302
Term
2003-03-04 09:38
2003.03.13
Серверы Автоматизации..........


3-39218
PrettyFly
2003-02-21 16:22
2003.03.13
upper() в IB/FB




   Наверх