Вниз
Скачать: CL | DM;

Программная задержка   Найти похожие ветки 

 
Vladimir1   (2003-05-21 09:14) [0]

Такая вот ситуация: есть процедура с сайта delphibase.endimus.com - программная задержка:

procedure Delay(Value:Cardinal);
var F, N:Cardinal;
begin
N:=0;
while N<=(Value div 10) do
begin
SleepEx(1,True);
Application.ProcessMessages;
Inc(N);
end;
F:=GetTickCount;
repeat
Application.ProcessMessages;
N:=GetTickCount;
until (N-F>=(Value mod 10)) or (N<F);
end;

Она вызывается несколько тысяч раз, примерно на 7-й тысяче задержка перестает работать. Вызывается с параметром 300.
Может так какая-нибудь ошибка?


 
Спрашивающий   (2003-05-21 09:52) [1]

Приведи код вызова


 
Dimka Maslov ©   (2003-05-21 09:59) [2]

Sleep(300);

WaitForSingleObject(GetCurrentThread, 300);


 
Спрашивающий   (2003-05-21 10:04) [3]

Однозначно проблема не в функции. Она делает обычные последовательности и коль скоро параметр постоянен
ей без разницы сколько ты ее будешь вызывать. Скорее всего код вызова обрывается на цифре в районе семи тысяч.
Хотя может я чего и пропустил но по обычному циклу я ее прогнал,
хотя и так все понятно без цикла.


 
Vladimir1   (2003-05-21 10:49) [4]

Вызываю обычно:

delay(300);


 
Спрашивающий   (2003-05-22 01:28) [5]

1.******************
>Вызываю обычно:delay(300);
********************
>Она вызывается несколько тысяч раз
********************
Судя по первой фразе вызов идет один раз судя по второй
несколько тысяч так "сколько же вешать в граммах?"



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
1-2957
alpa
2003-05-21 10:13
2003.06.02
Реестр


7-3191
Сергей
2003-04-01 09:46
2003.06.02
Как отключить/включить устройство?


3-2802
AndrewVolkov
2003-05-14 20:29
2003.06.02
1,2,3,... многопользовательский вариант


1-2840
Cranium
2003-05-19 21:00
2003.06.02
Как у TMainMenu можно поменять сцвет.....


6-3045
TankMan
2003-03-01 15:00
2003.06.02
Люди поможите с ошибкой сокета....




   Наверх