Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с задержкой


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]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо