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