![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Про sleep
Фагот © (2004-07-27 14:44:00)Есть такая проблема - на всемя работы процедуры sleep замирает вся система. Ент, не тормозит. Просто новые процессы не запускаются. Допустим, стоит слип на минуту. Я в это время запускаю, допустим, WinWord. Так вод , даже процесс winword не появляется до тех пор, пока не закончится слип. Как только он закончился - все работает до тех пор, пока снова не запустится слип.
В чём проблема?
Digitman (2004-07-27 16:22:00) [1]
> Насколько я понимаю, sleep - и засыпает программа
а, может, не заниматься дурацкими домыслами ? а просто почитать и понять, что эта ф-ция усыпляет конкретный трэдпроцеса , а не "программу" ? или различия в понятиях "программа", "процесс", "трэд" для тебя - пустой звук ?
MU (2004-07-27 16:22:00) [2]хотя нет...
procedure Sleep; external kernel32 name 'Sleep'; stdcall;
MU (2004-07-27 16:20:00) [3]Windows.Sleep;
SysUtils.Sleep
М.б. разница в этом
Anatoly Podgoretsky (2004-07-27 16:17:00) [4]Фагот (27.07.04 16:03) [19]
Мы тут видели программки, где в одной простой строчке более трех ошибок.
Андрей Л. (2004-07-27 16:07:00) [5]Во-во и я про то же. :)
//Автору
На другой машине пробовал прогу свою запустить?
Reindeer Moss Eater (2004-07-27 16:06:00) [6]Фагот, поздравляю.
Ты нашел простой и эффективный способ блокировки запуска любых неугодных тебе приложений без всяких перехватов, хуков и т.д.
Скорее регистрируй авторское право.
Reindeer Moss Eater (2004-07-27 16:04:00) [7]сделал так же:
на форму кинул кнопку, в OnClick написал sleep(1000 * 30);
запускаю sleep и затем Word
пока sleep не закончится - успеваю запустить не одну копию Word
Андрей Л. (2004-07-27 16:03:00) [8]Специально попробовал
Броссил на чистую форму кнопку и одну строчку написал
procedure TForm1.Button1Click(Sender: TObject);
begin
sleep(50000);
end;
Все процессы запускаются очень корректно, а сама прога висит.
Фагот (2004-07-27 16:03:00) [9]
> Reindeer Moss Eater
Спасибо и на этом.Но дело в том, что уж больно программа простенькая ошибке закрасться просо некуда...
panov (2004-07-27 16:03:00) [10]У меня все прекрасно запускается.
Да и наче и быть не может.
DK (2004-07-27 16:00:00) [11]сделал так же:
на форму кинул кнопку, в OnClick написал sleep(10000);
запускаю sleep и затем Word
пока sleep не закончится - Word не открывается
Reindeer Moss Eater (2004-07-27 15:55:00) [12]У тебя ошибка в программе.
Программа со слипом не должна приводить к таким последствиям.
Фагот (2004-07-27 15:51:00) [13]
> Reindeer Moss Eater
Прошу прощения, если выражаюсь непонятно. Нет, не моей программой, а вообще... С итконки на раб столе, через окошки и т.д. То есть не через мою программу.
Фагот (2004-07-27 15:49:00) [14]
> Vit@ly
Процедура sleep (msec)(sysutils). Программа замирает, не реагирует на пользователя на период msec. Не суть важно. Важно только то, что все остальные процессы находятся как бы в отстойнике и не запускаются до тех пор, пока слип не кончится. Я хочу выяснить - почему это?
Reindeer Moss Eater (2004-07-27 15:49:00) [15]ВСЕ процессы, запущенные до этого - не тормозят, работают. Новые - не запускаются!!! Так и должно быть?
Не запускаются кем?
Спящей программой?
Vit@ly (2004-07-27 15:43:00) [16]
> Есть такая проблема - на всемя работы процедуры sleep замирает
> вся система
Если не затруднит, в чем смысл такого слипа?
panov (2004-07-27 15:39:00) [17]Не верю! (c) Станиславский.
Фагот (2004-07-27 15:34:00) [18]
> Anatoly Podgoretsky
Я уже убрал все циклы. Оставил только sleep. И всё отлично , кроме того, что я написал. ВСЕ процессы, запущенные до этого - не тормозят, работают. Новые - не запускаются!!! Так и должно быть?
Piter (2004-07-27 15:28:00) [19]ssk © (27.07.04 14:49) [2]
очень умно, я тебе скажу...
может, лучше таймер тогда задействовать?
Anatoly Podgoretsky (2004-07-27 15:16:00) [20]Фагот (27.07.04 15:00) [5]
А как тогда быть с Фагот (27.07.04 14:53) [3]где ты правду говоришь