Форум: "Основная";
Текущий архив: 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