![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| darkcoder |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
Привет
Подскажите как сделать чтобы программа ничего не делала n секунд. Timer1.Enable:=true; Timer1.Interval:=1000; while Timer1.Enable=true do.. Почему сваливается б бесконечный цикл(из цикал не вызывает событие ontimer)? Как сделать правильно? Второй вопрос, то же самое только время 'спячки' должно случайно выбираться в диапазоне от 10 до 60 секнуд? Спасибо! |
|||
|
||||
| ivan219 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1121 Регистрация: 19.11.2005 Где: Планета земля Репутация: 5 Всего: 12 |
|
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
WaitForSingleObject. Я лично это предпочитаю.
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Так программа под виндовс это ленивец, если нет событий и так ничего не делает -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| darkcoder |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
Почему с использованием такой конструкции окно появляется не сразу а после того как программа отработает то есть через 5 сек?
Так как делать то чтоб правильно было? Может есть рабочий примерчик на TTimer? |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
darkcoder, окно то создаётся. А вот показывается оно с 5-ти секундной задержкой из-за вызова Sleep(5000).
Это сообщение отредактировал(а) THandle - 5.12.2007, 15:49 |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
Да забудьте вы про sleep в основном потоке, глупость это! В основном потоке тока таймер, sleep оставьте для дополнительного потока.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Lexicss |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 16.8.2006 Где: Беларусь, Минск Репутация: нет Всего: 1 |
Вообщем, на скока я понял тебе нужно сэмитировать паузу.
Sleep использовать некрасиво, т.к. блокируется весь основной поток - это нехороший стиль программирования. Да и лажа получиться, пока будет работать sleep - форма будет заблокирована и не будет реагировать ни на какие события. Здесь лучше в форме использовать обработчик сообщений и посылать ему сообщения когда нужно снять с пацзы и выполнять что=-то дальше, а в качестве действий использовать соответсвующую процедуру/функцию. --------------------
Бери от жизни всё. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |