Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.06;
Скачать: CL | DM;

Вниз

аналоги Sleep_а   Найти похожие ветки 

 
Zhekson   (2005-02-07 15:25) [0]

В моей программе нужно периодически выжидать несколько секунд. Sleep не подходит так как не могу засыпает всё... даже кнопки...


 
SammIk ©   (2005-02-07 15:39) [1]

Дык тогда тебе ничего не поможет))
Узай потоки.


 
sniknik ©   (2005-02-07 15:46) [2]

таймер (TTimer)
(хотя это и не аналог, но это именно то что тебе нужно)

либо цикл с тем же Sleep-ом поделенным на временные отрезки перемежаемые Application.ProcessMessages

либо загнать все свои "вычисления"(?) в отдельный поток.


 
_silver ©   (2005-02-07 17:04) [3]

procedure _sleep(tick : DWORD);
begin
  t := GetTickCount + tick;
  while GetTickCount < t do
    Application.ProcessMessages;
end;

Засыпать будет не ровно на tick милисекунд, но может подойдёт.


 
_silver ©   (2005-02-07 17:06) [4]

_silver ©   (07.02.05 17:04) [3]
procedure _sleep(tick : DWORD);

var
  t : DWORD;
begin
 t := GetTickCount + tick;
 while GetTickCount < t do
   Application.ProcessMessages;
end;


 
Zhekson   (2005-02-07 17:07) [5]

Таймер мне помог...
спасибо.


 
Poirot ©   (2005-02-07 18:40) [6]

ТОгда поток пользуй и в нём слиип.

_silver ©   (07.02.05 17:06) [4]
Имхо тут не только форма может повиснуть но и всё ося...


 
QuasiLamo ©   (2005-02-07 20:26) [7]

_silver ©   (07.02.05 17:04) [3]
надо в цикл вставить хотя бы sleep(0), а то сильно ресурсы хавать будет.


 
Kerk ©   (2005-02-07 23:43) [8]

Zhekson   (07.02.05 15:25)
Sleep не подходит так как не могу засыпает всё... даже кнопки...


Спят усталые игрушки,
Кнопки спят.... :)


 
Vaitek ©   (2005-02-17 13:10) [9]

А что за магический эффект sleep(0)?


 
Amoeba ©   (2005-02-17 13:11) [10]

Delay из RxLib/JVCL


 
clickmaker ©   (2005-02-17 13:22) [11]


> Vaitek ©   (17.02.05 13:10) [9]
> А что за магический эффект sleep(0)?

дает чутка процессорного времени другим потокам, чтоб совсем не задохнулись


 
_silver ©   (2005-02-17 13:37) [12]

Poirot ©   (07.02.05 18:40) [6]
Не согласен.
QuasiLamo ©   (07.02.05 20:26) [7]
Согласен.


 
sniknik ©   (2005-02-17 13:37) [13]

> дает чутка процессорного времени другим потокам, чтоб совсем не задохнулись
ну не совсем "чутка", скорее столько сколько получится при изначальном желании дать чуть-чуть. ;о))

http://delphimaster.net/view/4-1107888763/

> А что за магический эффект sleep(0)?
вообщето применение слип-а правильно идеологически, а вот в данном конкретном случае "магический эффект" это от неправильного использования, к примеру
 >  Sleep не подходит так как не могу засыпает всё... даже кнопки...
может получится если пытатюся "усыпить" поток в синхронизированной функции, в итоге заснет основной.



Страницы: 1 вся ветка

Текущий архив: 2005.03.06;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.05 c
4-1106283162
Ната
2005-01-21 07:52
2005.03.06
Как программно перегрузить компьютер?


14-1108477273
Prohodil Mimo
2005-02-15 17:21
2005.03.06
чем округлить 690.005 что бы получилось 690.01, а не 690.00 ?


4-1106841092
Maksym
2005-01-27 18:51
2005.03.06
Mozilla Thunderbird + Delphi


1-1108986773
lehich
2005-02-21 14:52
2005.03.06
повторы в ListBox и сохранение элементов в переменную


9-1102340699
Glander
2004-12-06 16:44
2005.03.06
графика в delphi