Это - достаточно беспорядочный архив сообщений конференций сети fidonet, которые на момент их прочтения мной
показались полезными или интересными. Многие устарели, многие узкоспецифичны и малоинтересны, но может оказаться и что-то новое...
- __techs (2:5015/42) ----------------------------------------------- __techs - Msg : 3 of 1000 Scn From : Victor Pomortseff 2:5080/68.12 24 Apr 96 08:40:20 To : Boris Rudakov 28 Apr 96 04:26:38 Subj : Срочная перерисовка ------------------------------------------------------------------------------- @AREA:SU.WINDOWS.PROG Hello Boris. 19 Apr 96 22:31, Andrej Zajtsev wrote to Boris Rudakov: AZ>>> ... закрыла диалог и начала довольно длинные вычисления. BR>> Что, совсем не передавая управления Windows ? Это же плохо. AZ> ИМХО все так делают. Выставил IDC_WAIT и вперед. Если уж очень долго, [...] BR>> Попробуй так, это совершенно стандартный подход. AZ> Согласен, стандартный, но уж больно через зад. AZ> Легче сделать обычный цикл обработки и обработать там все сообщения до AZ> полного опустошения очереди после первого WM_PAINT. А потом переходить AZ> к вычислениям. В Win 3.1x проще всего в течении длительных процессов периодически "отдаваться" виндоузовскому планировщику. Это можно сделать вызывая следующую функцию: void CheckMsgQueue() { MSG msg; while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)){ TranslateMessage(&msg); DispatchMessage(&msg); }; } Эта функция заставит Win обтряхнуть очереди сообщений всех задач и вернет управление. Я использовал сей метод при обработке значительно более длинных процессов (несколько минут), чем те о которых идет речь. Victor ... Перед прочтением съесть... --- А дед то - голый... * Origin: Victor Pomortseff | vic@plm.rcupi.e-burg.su (2:5080/68.12)