![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Application.processmesages в программе без форм [D5, Win95/98, Win2k]
RV © (2002-09-12 11:01:00)форму выкинул
В процедуре Delay
Application.ProcessMessages
нужно чем-то подходящим заменить
procedure Delay(ms : longint);
var
TheTime : LongInt;
begin
TheTime := GetTickCount + ms;
while GetTickCount < TheTime do begin
Sleep(60);
Application.ProcessMessages;
end;
end;
begin
CZad:=0;
repeat
Delay(200);
GetN;
until false;
end.
спасибо
Старый Паскалист (2002-09-12 11:40:00) [1]Собственно, тогда вообще одним слипом можно отделаться :)
RV (2002-09-12 11:35:00) [2]Старый Паскалист (12.09.02 11:27)
точно, вообще не нужно :), спасибо.
дело в том, что сначала писал с формой (удобно отлаживать), а потом по инерции все стал переносить в "бесформенный" вариант...
Старый Паскалист (2002-09-12 11:27:00) [3]Потому как в програмах с формами это нужно, в основном, для
того, чтобы программа не создавала впечатление зависшей
(форма смогла перерисоваться в случае необходимости, мышью можно было потаскать).
Старый Паскалист (2002-09-12 11:19:00) [4]Вопрос - а нужноли тебе обрабатывать сообщения
во время Delay? - Может, просто выкинуть оттуда
Application.ProcessMessages и всех делов?
Romkin (2002-09-12 11:13:00) [5]MsgWaitForMultipleObjects & GetMessage (м.б. timeSetEvent)
Можно и просто окно создать, для обработки сообщений, это довольно удобно. Пример - TThreadWindow.
Song (2002-09-12 11:08:00) [6]Открой исходники TApplication да посмотри как там сделана выборка сообщений из очереди.