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

Вниз

Про sleep   Найти похожие ветки 

 
Фагот   (2004-07-27 14:44) [0]

Есть такая проблема - на всемя работы процедуры sleep замирает вся система. Ент, не тормозит. Просто новые процессы не запускаются. Допустим, стоит слип на минуту. Я в это время запускаю, допустим, WinWord. Так вод , даже процесс winword не появляется до тех пор, пока не закончится слип. Как только он закончился - все работает до тех пор, пока снова не запустится слип.
В чём проблема?


 
Игорь Шевченко ©   (2004-07-27 14:48) [1]


> на всемя работы процедуры sleep замирает вся система


Эт где ты такую систему нашел ?


 
ssk ©   (2004-07-27 14:49) [2]

вместо слипа попробуй это. тоже подпрограмма задержки:


procedure Delay(X:longint);
const
 StartTick : LONGINT = 0;
begin
 StartTick := GetTickCount;
 while GetTickCount - StartTick < x do Application.ProcessMessages;
end;


 
Фагот   (2004-07-27 14:53) [3]


> ssk

Это не подойдёт - пустой цикл грузит проц!
> Игорь Шевченко
Наверно я неправильно выразился. Все запущенные до этого процессы нормально, без тормозов работают, а вто новые не запускаются до окончания слипа.


 
Anatoly Podgoretsky ©   (2004-07-27 14:56) [4]

Как это ты себе представляешь, сам же сказал спать


 
Фагот   (2004-07-27 15:00) [5]

Может я чего-то недочитал в хелпе. Насколько я понимаю, sleep - и засыпает программа, а не система. И моя программа в этом случае другим процессам мешать не должна...


 
pasha_golub ©   (2004-07-27 15:11) [6]

А может код показать? Мож там какой хитрый слип у вас?


 
Reindeer Moss Eater ©   (2004-07-27 15:13) [7]

http://delphimaster.net/view/1-1090838969/

Говорили тебе, используй штатный планировщик.


 
Anatoly Podgoretsky ©   (2004-07-27 15:16) [8]

Фагот   (27.07.04 15:00) [5]
А как тогда быть с Фагот   (27.07.04 14:53) [3] где ты правду говоришь


 
Piter ©   (2004-07-27 15:28) [9]

ssk ©   (27.07.04 14:49) [2]

очень умно, я тебе скажу...
может, лучше таймер тогда задействовать?


 
Фагот   (2004-07-27 15:34) [10]


> Anatoly Podgoretsky

Я уже убрал все циклы. Оставил только sleep. И всё отлично , кроме того, что я написал. ВСЕ процессы, запущенные до этого - не тормозят, работают. Новые - не запускаются!!! Так и должно быть?


 
panov ©   (2004-07-27 15:39) [11]

Не верю! (c) Станиславский.


 
Vit@ly ©   (2004-07-27 15:43) [12]


> Есть такая проблема - на всемя работы процедуры sleep замирает
> вся система

Если не затруднит, в чем смысл такого слипа?


 
Reindeer Moss Eater ©   (2004-07-27 15:49) [13]

ВСЕ процессы, запущенные до этого - не тормозят, работают. Новые - не запускаются!!! Так и должно быть?

Не запускаются кем?
Спящей программой?


 
Фагот   (2004-07-27 15:49) [14]


> Vit@ly
Процедура sleep (msec)(sysutils). Программа замирает, не реагирует на пользователя на период msec. Не суть важно. Важно только то, что все остальные  процессы находятся как бы в отстойнике и не запускаются до тех пор, пока слип не кончится. Я хочу выяснить - почему это?


 
Фагот   (2004-07-27 15:51) [15]


> Reindeer Moss Eater

Прошу прощения, если выражаюсь непонятно. Нет, не моей программой, а вообще... С итконки на раб столе, через окошки и т.д. То есть не через мою программу.


 
Reindeer Moss Eater ©   (2004-07-27 15:55) [16]

У тебя ошибка в программе.
Программа со слипом не должна приводить к таким последствиям.


 
DK   (2004-07-27 16:00) [17]

сделал так же:
на форму кинул кнопку, в OnClick написал sleep(10000);
запускаю sleep и затем Word
пока sleep не закончится - Word не открывается


 
panov ©   (2004-07-27 16:03) [18]

У меня все прекрасно запускается.
Да и наче и быть не может.


 
Фагот   (2004-07-27 16:03) [19]


> Reindeer Moss Eater

Спасибо и на этом.Но дело в том, что уж больно программа простенькая ошибке закрасться просо некуда...


 
Андрей Л.   (2004-07-27 16:03) [20]

Специально попробовал

Броссил на чистую форму кнопку и одну строчку написал

procedure TForm1.Button1Click(Sender: TObject);
begin
 sleep(50000);
end;


Все процессы запускаются очень корректно, а сама прога висит.


 
Reindeer Moss Eater ©   (2004-07-27 16:04) [21]

сделал так же:
на форму кинул кнопку, в OnClick написал sleep(1000 * 30);
запускаю sleep и затем Word
пока sleep не закончится - успеваю запустить не одну копию Word


 
Reindeer Moss Eater ©   (2004-07-27 16:06) [22]

Фагот, поздравляю.
Ты нашел простой и эффективный способ блокировки запуска любых неугодных тебе приложений без всяких перехватов, хуков и т.д.

Скорее регистрируй авторское право.


 
Андрей Л.   (2004-07-27 16:07) [23]

Во-во и я про то же. :)

//Автору
На другой машине пробовал прогу свою запустить?


 
Anatoly Podgoretsky ©   (2004-07-27 16:17) [24]

Фагот   (27.07.04 16:03) [19]
Мы тут видели программки, где в одной простой строчке более трех ошибок.


 
MU ©   (2004-07-27 16:20) [25]

Windows.Sleep;
  SysUtils.Sleep
М.б. разница в этом


 
MU ©   (2004-07-27 16:22) [26]

хотя нет...
procedure Sleep; external kernel32 name "Sleep"; stdcall;


 
Digitman ©   (2004-07-27 16:22) [27]


> Насколько я понимаю, sleep - и засыпает программа


а, может, не заниматься дурацкими домыслами ? а просто почитать и понять, что эта ф-ция усыпляет конкретный трэд процеса , а не "программу" ? или различия в понятиях "программа", "процесс", "трэд" для тебя - пустой звук ?



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

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

Наверх




Память: 0.5 MB
Время: 0.039 c
8-1085230558
ricks
2004-05-22 16:55
2004.08.08
Формат файла WMA (или ASF)


1-1090869200
ANT
2004-07-26 23:13
2004.08.08
Переменные


4-1088189241
Nomolos
2004-06-25 22:47
2004.08.08
Каким образом обработать нажатие на кнопку по описателю окна?


14-1090674344
AlexG
2004-07-24 17:05
2004.08.08
Что такое ДЕЛЕГАТЫ?


6-1086523457
lena19
2004-06-06 16:04
2004.08.08
установка и разрыв соединения





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский