Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];

Вниз

Процедура Delay   Найти похожие ветки 

 
Eraser   (2002-01-21 12:34) [0]

Люди подкажите почему данная процедура не работает в TThread (цикла нет выполняется толко 1 раз вне зависимости от того сколько msecs) , хотя в обычной форме все выпллняется:

procedure TMicro1Thread.Delay(msecs : Longint);
var
FirstTick : longint;
begin
FirstTick:=GetTickCount;
repeat
Application.ProcessMessages;
until GetTickCount-FirstTick >= msecs;
end;


 
Dimka Maslov   (2002-01-21 12:48) [1]

В потоке не нужен Application.ProcessMe


 
Eraser   (2002-01-21 12:50) [2]

мне нужно сделать задержку на 50 мс (если через sleep -тоже самое)


 
Dimka Maslov   (2002-01-21 13:00) [3]

А ты откуда процедуру Delay вызываешь?


 
Eraser   (2002-01-21 13:02) [4]

procedure TMicro3Thread.Execute;
begin
<что-то>
delay(50);
<что-то>
end;


 
Digitman   (2002-01-21 13:02) [5]

Используй SleepEx

The SleepEx function causes the current thread to enter a wait state until one of the following occurs:

· An I/O completion callback function is called
· An asynchronous procedure call (APC) is queued to the thread.
· The time-out interval elapses



DWORD SleepEx(

DWORD dwMilliseconds, // time-out interval in milliseconds
BOOL bAlertable // early completion flag
);


 
Dimka Maslov   (2002-01-21 13:04) [6]

А задержку чего на на 50мс ты хочешь сделать? Потока TMicro3Thread или основного потока приложения?


 
Eraser   (2002-01-21 14:19) [7]

>Dimka
потока Tmicro3Thread

И еще если пробую delay(100) и более то все работает


 
Dimka Maslov   (2002-01-21 15:23) [8]

50мс слишком маленькое время, по этому сразу срабатывает условие выхода из цикла


 
Eraser   (2002-01-21 15:26) [9]

но ведь если нет поотка то все работает



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

Форум: "Основная";
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
1-8920
Eraser
2002-01-17 13:39
2002.02.04
Название ComboBox


3-8748
TAIS
2002-01-02 09:47
2002.02.04
триггер


1-8840
.: Joiro :.
2002-01-19 13:12
2002.02.04
Как


1-8910
Eraser
2002-01-16 10:59
2002.02.04
потоки текут-2 или получилось наполовину


3-8796
roottim
2002-01-06 12:36
2002.02.04
DbGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский