Форум: "Система";
Текущий архив: 2003.03.13;
Скачать: [xml.tar.bz2];
Внизизменить порядок обработки событий. Найти похожие ветки
← →
Зина (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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c