Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сообщения Windows


KASioZ ©   (2006-05-06 02:44:00) 

Здравствуйте уважаемые программисты!
Нуждаюсь в вашей помощи.
В модуле Forms была такая процедура
Application.ProcessMessages;
Которая могла в любой момент выполнения кода обработать накопившиеся системные события.
Из-за сильной экономии конечного размера файла я не могу использовать этот модуль (размер увеличивается на 300кб!)
Подскажите пожалуйста как я могу выполнить это используя чистый WinAPI.
Т.е мне надо в любой момент времени обработать накопившиеся сообщения если они есть и продолжить выполнение программы, а если же их нет то тоже продолжить и не ожидать прихода 1го сообщения как это сделано у меня сейчас:

while GetMessage(Msg, 0, 0, 0) do
       begin
       TranslateMessage(Msg);
       DispatchMessage(Msg);
       end;

Заранее благодарен за любую оказанную мне помощь!


KASioZ   (2006-05-06 10:11:00) [1]

Сергей М.
Огромное спасибо за ваш ответ.
Сработало!


KASioZ   (2006-05-06 09:22:00) [2]

>Ctrl+клик по слову Application.ProcessMessages

Я и так уже пытался!
Но если копировать всё что там написано, все доп. процедуры и функции и все прочие объявления то конечный размер опять же получится гигантским


Сергей М.   (2006-05-06 09:05:00) [3]

while PeekMessage(Msg, 0, 0, 0, PM_REMOVE) do
 begin
   TranslateMessage(Msg);
   DispatchMessage(Msg);
 end;


GrayFace   (2006-05-06 09:00:00) [4]

Ctrl+клик по слову Application.ProcessMessages


Наверх

Титульная страница Поиск, карта сайта Написать письмо