| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Реализация функции Sleep в потоке |
| Автор: x_byte 6.2.2005, 09:37 | ||
Мне необходимо перед открытием страницы в CppWebBrowser1 выдержать паузу заданную мной же. Всё бы хорошо, можно использовать Sleep:
...но тогда приложение зависает полностью! пока время слипа не истечёт! Я хотел вынести sleep в отдельный поток...что бы программа не висла и была пауза перед переходом по ссылке,..... ничего не вышло, в отдельном потоке программа всё равно залипала. Нужен выход.... Либо Функция взамен слипу, которая не ступит приложение, либо другая вариация потока.... которая даст нужный эффект. |
| Автор: Дрон 6.2.2005, 11:06 | ||
| А что же должно делать приложении в течении этих двух секунд? Добавлено @ 11:08
А это как? Опять же что значит "залипала"? |
| Автор: x_byte 6.2.2005, 12:45 | ||||||
Вообще...да... я сейчас подумал... наверное я хочу невозможного... Можно сделать, но это будет занимать процессор и тогда будет виснуть всё, если я не ошибаюсь.. (т.е. перед тем как перейти на страницу включить таймер (в отдельном потоке), который через указанный интервал сам себя отключит, и ниже ждать пока он не отключится:
Корче тоже не выход!!! Ладно, буду sleep'ом пользоваться!
А это я не правельно выразился с просони.... я имел ввиду не программа в отдельном потоке... "Залипала", это то что происходит когда работает sleep... это такая моя вольная формулировка, первое что в голову пришло. |
| Автор: InfMag 6.2.2005, 21:24 | ||||
| sleep() - это WinApi'шная функция, поэтому ниче хорошего от нее ожидать не следует. А с таймером у тебя висло потому, что ты поставил while, а это как известно цикл, который будет все это время вести 100% нагрузки на ЦП. Если действительно хочешь реализовать такую фишку, то делай как я 1. Создай какую-нить кнопочку 2. Создай таймер 3. У таймера Enabled ставь FALSE 4. Пиши нужный интервал у таймера 5. В коде таймера пиши:
6. В коде кнопки пиши:
И жми на кнопку... Мой, не знаю насколько нетупой способ, но работает идеально. |
| Автор: x_byte 7.2.2005, 02:58 |
| InfMag, спасибо я так и сделал!!!!! Работает!!! |
| Автор: Nicky 16.2.2005, 20:47 |
| Кстати, используя компонент таймер можно создать свою функцию заменяющую Sleep()! |