Доброго всем времени суток!
Не знаю, правильно ли я поступил, поместив этот пост в данный топик, но, все-таки этот вопрос напрямую относится к области функционирования ядра системы.
Речь идет о том, чтобы отыскать алго, альтернативный Application.ProcessMessages, то есть, который бы позволял ОСи и программе обменяться сообщениями, которые находятся "в очереди" на обработку.
Сейчас использую такой алго:
Код:
if PeekMessage(Msg, 0, 0, 0, PM_REMOVE) then
begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
Но этот код дааалеко не альтернатива для Application.ProcessMessages =)
В сях я это дело писал так:
Код:
CWinThread * pThread = AfxGetThread();
MSG msg;
while (PeekMessage(&msg,NULL,0,0,PM_NOREMOVE)) if (!pThread->PumpMessage()) break;
и как это перетащить на паскаль (Delphi) не понимаю
Почему я не хочу юзать ProcessMessages, да потому, что, по-крайней мере, в седьмой версии Delphi, эта процедура частенько вызывает ошибки ни с того ни с сего, причем только на некоторых машинах.