Re[5]: Работа с консоль-приложением из Windows оболочки
От: Alex Fedotov США  
Дата: 26.09.01 05:01
Оценка:
Здравствуйте Alexche, вы писали:

A>Спасибо, все заработало! Сделал буфер 80 байт — стало быстрее.

A>Теперь возникла другая проблема — прочитанные байты я отправляю в CEdit,
A>но текст появляется только после завершения дочернего процесса.
A>Пробовал в цикле добавить:

A> MSG Msg;

A> GetMessage(&Msg, NULL, 0, 0);
A> DispatchMessage(&Msg);

A>Обновляется, но если я скрываю CEdit, изменяя размеры окна,

A>то программу приходится "подгонять" мышью (move, click),
A>иначе программа как-бы подвисает.
A>А как сделать правильно?

Совсем правильно будет запустить чтение из канала в отдельном потоке,
чтобы не блокировать UI-поток.

А в качестве заплатки — добавить вот это в цикл чтения из канала:

MSG msg;
while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
    TranslateMessage(&msg);
    DispatchMessage(&msg);
}
-- Alex Fedotov
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.