Форум: "Основная";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
ВнизПомогите разобраться с задержкой Найти похожие ветки
← →
_alex_ (2004-11-22 14:38) [0]Добрый день!
Мне необходимо вставлять по ходу функции временные задержки, их я реализую с помощью процедуры:
procedure Delay(Seconds, MilliSec: Word);
var
TimeOut: TDateTime;
begin
tmpCountDelay:= 0;
TimeOut:= Now + EncodeTime(0, Seconds div 60,
Seconds mod 60, MilliSec);
while Now < TimeOut do
Application.ProcessMessages;
В половине случаев вместо 1,5 секунд эта функция выполняется все 3–5 секунд.
Из-за чего это происходит?
Now или ProcessMessages?
← →
ламер © (2004-11-22 14:41) [1]используй либо Sleep(), либо (если уж так нужен цикл) GetTickCount().
← →
Skyle © (2004-11-22 14:43) [2]> _alex_ (22.11.04 14:38)
> Из-за чего это происходит?
Гвозди с микроскопом не сочетаются.
Используй > [1] ламер © (22.11.04 14:41) либо таймер.
← →
КаПиБаРа © (2004-11-22 15:03) [3]Удалено модератором
← →
Piter © (2004-11-22 15:43) [4]Задержки в программе не нужны вообще. Это говорит о неправильном алгоритме работы
← →
ggs (2004-11-22 16:57) [5]Удалено модератором
← →
Digitman © (2004-11-22 17:04) [6]Удалено модератором
← →
Yanis © (2004-11-22 18:05) [7]
procedure Wait(T: Integer);
var
h:THandle;
begin
H := CreateEvent(nil,true,false,"");
WaitForSingleObject(h,T);
CloseHandle(h);
end;
Использование:
Wait(1000); // одна секунда
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.077 c