![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с задержкой
irishka001 © (2006-01-12 15:51:00)Всем, добрый день!
У меня такая проблема. Я осуществляю задержку следующим образом:
procedure TForm1.Delay(msecs : Longint);
var
FirstTick : longint;
begin
FirstTick:=GetTickCount;
repeat
Application.ProcessMessages;
until GetTickCount-FirstTick >= msecs;
end;
Вызываю, соответсвенно как delay(5000) - задержка на 5 с. Проблема в том, что работает только на рабочей станции, на сервере задержка не осуществляется.
гвест (2006-01-12 18:35:00) [1]слип лучше не делать, так как он приостанавливает выполнение потока, а это значит, что у тебя сообщения не будут никакие обрабатываться (например, та же отрисовка окна)
IceBeerg (2006-01-12 17:09:00) [2]Удалено модератором
Ega23 (2006-01-12 17:00:00) [3]Удалено модератором
irishka001 (2006-01-12 16:09:00) [4]Метод вызывается. Заменила его на другой, и все заработало:
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;
umbra (2006-01-12 16:07:00) [5]приведенный код должен работать. может быть сам метод не вызывается?