Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Реализация функции Sleep в потоке 
:(
    Опции темы
x_byte
Дата 6.2.2005, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 27.1.2004

Репутация: нет
Всего: 1



Мне необходимо перед открытием страницы в CppWebBrowser1 выдержать паузу заданную мной же. Всё бы хорошо, можно использовать Sleep:
Код

Sleep(2000);
CppWebBrowser1->Navigate(адрес);

...но тогда приложение зависает полностью! пока время слипа не истечёт! Я хотел вынести sleep в отдельный поток...что бы программа не висла и была пауза перед переходом по ссылке,..... ничего не вышло, в отдельном потоке программа всё равно залипала. smile Поток создавал через Thread Object.
Нужен выход.... Либо Функция взамен слипу, которая не ступит приложение, либо другая вариация потока.... которая даст нужный эффект.
PM MAIL   Вверх
Дрон
Дата 6.2.2005, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 93



А что же должно делать приложении в течении этих двух секунд?

Добавлено @ 11:08
Цитата(x_byte @ 6.2.2005, 09:37)
ничего не вышло, в отдельном потоке программа всё равно залипала

А это как? Опять же что значит "залипала"?

Это сообщение отредактировал(а) Дрон - 6.2.2005, 11:08


--------------------
Да. Именно так.
PM   Вверх
x_byte
Дата 6.2.2005, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 27.1.2004

Репутация: нет
Всего: 1



Цитата
А что же должно делать приложении в течении этих двух секунд?

Вообще...да... я сейчас подумал... наверное я хочу невозможного...
Можно сделать, но это будет занимать процессор и тогда будет виснуть всё, если я не ошибаюсь.. (т.е. перед тем как перейти на страницу включить таймер (в отдельном потоке), который через указанный интервал сам себя отключит, и ниже ждать пока он не отключится:
Код

while(Timer1->Enabled == true)
{
   g = 1;
}

Корче тоже не выход!!! Ладно, буду sleep'ом пользоваться!
Цитата
А это как? Опять же что значит "залипала"?

А это я не правельно выразился с просони.... я имел ввиду не программа в отдельном потоке... smile smile smile , а sleep в отдельном потоке всё равно останавливал программу полностью.
"Залипала", это то что происходит когда работает sleep... это такая моя вольная формулировка, первое что в голову пришло. smile
PM MAIL   Вверх
InfMag
Дата 6.2.2005, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


…
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 21.11.2004

Репутация: 1
Всего: 4



sleep() - это WinApi'шная функция, поэтому ниче хорошего от нее ожидать не следует.
А с таймером у тебя висло потому, что ты поставил while, а это как известно цикл, который будет все это время вести 100% нагрузки на ЦП.
Если действительно хочешь реализовать такую фишку, то делай как я smile :
1. Создай какую-нить кнопочку
2. Создай таймер
3. У таймера Enabled ставь FALSE
4. Пиши нужный интервал у таймера
5. В коде таймера пиши:
Код

CppWebBrowser1->Navigate(/*адрес*/);
Timer1->Enabled=FALSE;

6. В коде кнопки пиши:
Код

Timer1->Enabled=TRUE;


И жми на кнопку... Мой, не знаю насколько нетупой способ, но работает идеально. smile
PM   Вверх
x_byte
Дата 7.2.2005, 02:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 27.1.2004

Репутация: нет
Всего: 1



InfMag, спасибо я так и сделал!!!!! Работает!!! smile smile smile
PM MAIL   Вверх
Nicky
Дата 16.2.2005, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 18.12.2004
Где: Кишинёв

Репутация: 1
Всего: 1



Кстати, используя компонент таймер можно создать свою функцию заменяющую Sleep()!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0479 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.