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

Проблема с задержкой   Найти похожие ветки 

 
irishka001 ©   (2006-01-12 15:51) [0]

Всем, добрый день!
У меня такая проблема. Я осуществляю задержку следующим образом:
procedure TForm1.Delay(msecs : Longint);
var
 FirstTick : longint;
begin
 FirstTick:=GetTickCount;
 repeat
   Application.ProcessMessages;
 until GetTickCount-FirstTick >= msecs;
end;

Вызываю, соответсвенно как delay(5000) - задержка на 5 с. Проблема в том, что работает только на рабочей станции, на сервере задержка не осуществляется.


 
umbra ©   (2006-01-12 16:07) [1]

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


 
irishka001 ©   (2006-01-12 16:09) [2]

Метод вызывается. Заменила его на другой, и все заработало:
procedure TForm1.Delay(ms : longint);
{$IFNDEF WIN32}
var
TheTime : LongInt;
{$ENDIF}
begin
{$IFDEF WIN32}
Sleep(ms);
{$ELSE}
TheTime := GetTickCount + ms;
while GetTickCount < TheTime do
Application.ProcessMessages;
{$ENDIF}
end;


 
Ega23 ©   (2006-01-12 17:00) [3]

Удалено модератором


 
IceBeerg ©   (2006-01-12 17:09) [4]

Удалено модератором


 
гвест   (2006-01-12 18:35) [5]

слип лучше не делать, так как он приостанавливает выполнение потока, а это значит, что у тебя сообщения не будут никакие обрабатываться (например, та же отрисовка окна)



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

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



Память: 0.46 MB
Время: 0.023 c
1-1135616888
Krut
2005-12-26 20:08
2006.01.29
OpenDialog - мультивыделение


15-1136457482
Игорь Шевченко
2006-01-05 13:38
2006.01.29
А вы говорите, Delphi....


2-1137162590
tech
2006-01-13 17:29
2006.01.29
Модератору


2-1135793463
guitarist
2005-12-28 21:11
2006.01.29
Командная строка


1-1135274897
Destroyer
2005-12-22 21:08
2006.01.29
Ожидание выгружения процесса




   Наверх