Umka |
Отправлено: 18.11.2003, 23:24 |
|
![](/discussion/uploads/av-365.gif)
Дежурный стрелочник
Группа: Участник
Сообщений: 32
![](/discussion/style_images/1/spacer.gif)
|
В программу надо вставить задержку с точностью до 1 секунды, причём все контролы должны работать. Если я использую функцию Sleep, то прога сворвчивается и не отвечает до прошествия заданоого времени.
Подскажите, что делать. |
![](/discussion/style_images/1/spacer.gif) |
Fred |
Отправлено: 19.11.2003, 03:16 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 19
![](/discussion/style_images/1/spacer.gif)
|
CODE |
void Sleep2( DWORD msec )
{
DWORD tick_start = GetTickCount();
while( GetTickCount()-tick_start < msec ) Application->ProcessMessages();
}
| |
![](/discussion/style_images/1/spacer.gif) |
Guest |
Отправлено: 19.11.2003, 20:22 |
|
Не зарегистрирован
![](/discussion/style_images/1/spacer.gif)
|
А ты пиши
Application->ProcessMessages(); // !!!
Sleep(1000); |
![](/discussion/style_images/1/spacer.gif) |
Umka |
Отправлено: 20.11.2003, 16:31 |
|
![](/discussion/uploads/av-365.gif)
Дежурный стрелочник
Группа: Участник
Сообщений: 32
![](/discussion/style_images/1/spacer.gif)
|
Guest
Я так пробовал — нифига.
Fred
Спасибо, попробую. |
![](/discussion/style_images/1/spacer.gif) |
Дмитрий |
Отправлено: 26.11.2003, 21:06 |
|
Не зарегистрирован
![](/discussion/style_images/1/spacer.gif)
|
Я делал так:
void __fastcall Delay(int N)
{
Application->ProcessMessages();
Sleep(N);
Application->ProcessMessages();
}
N — число милисекунд.
И все работало.
Пример обращения: Delay(1000);
А вообще в билдере где-то уже есть ф-ия Delay, только не помню в каком заголовочном файле. |
![](/discussion/style_images/1/spacer.gif) |
butch |
Отправлено: 26.11.2003, 22:22 |
|
Не зарегистрирован
![](/discussion/style_images/1/spacer.gif)
|
a TTimer не подходит? |
![](/discussion/style_images/1/spacer.gif) |