![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать постоянное выполнение комманд
dabreezy © (2006-01-13 12:11:00)Добрый день
Как сделать так, чтобы пока программа работает, постоянно выполнялись какие либо действия, а не пока что то нажато.
SergP (2006-01-14 11:00:00) [1]
> n0p © (13.01.06 20:37) [20]
>
> > 1 мс ты никогда не достигнешь, в лучшем случае 10 мс
>
> 55 мс...
>
> Ну минимум всегда работает цикл обработки сообщений %)
ИМХО
55 это в WIN 95/98/ME
в 2000/XP вроде бы 10
n0p (2006-01-13 20:37:00) [2]
> 1 мс ты никогда не достигнешь, в лучшем случае 10 мс
55 мс...
Ну минимум всегда работает цикл обработки сообщений %)
VirEx (2006-01-13 20:22:00) [3]
> [11] Digitman © (13.01.06 13:28)
>
> программа НИКОГДА не "стоит на месте".
> она ВСЕГДА выполняется, в ЛЮБОЙ момент времени.
Sleep
SuspendThread
dabreezy (2006-01-13 13:49:00) [4]Аааа. вот как. Это то я и хотел узнать спасибо большое.
evvcom (2006-01-13 13:46:00) [5]
> будет выполнятся только когда форма создается, а как сделать
> так чтобы выполнялось всегда
А ты это дело оберни в бесконечный цикл, и будет твой formcreate выполняться "всегда", пока его не убьют. :-)
Digitman (2006-01-13 13:45:00) [6]в любом месте.
while True do
dabreezy (2006-01-13 13:43:00) [7]Так где написать скажем if fl=1 then aaa=0 к примеру, чтобы выполнялось это постоянно?
Digitman (2006-01-13 13:41:00) [8]
> Таймер выполняется всегда, например если поставить значение
> 1 milesecond
Угу.
А если , например, 3 milesecond, то это уже "не всегда" ?
> как сделать чтобы выполнялись определенные команды каждый
> момент
Они, "команды" эти самые, и так выполняются "каждый момент", ВНЕ зависимости от твоего желания или нежелания.
Desdechado (2006-01-13 13:40:00) [9]1 мс ты никогда не достигнешь, в лучшем случае 10 мс
если ты каждые 10 мс будешь что-то выполнять, я твоему компу не завидую, умрет он
dabreezy (2006-01-13 13:37:00) [10]Так как сделать чтобы выполнялись определенные команды каждый момент, а не при открытии и щелчке на кнопках? Таймер выполняется всегда, например если поставить значение 1 milesecond
Digitman (2006-01-13 13:28:00) [11]
> Легче всего это сделать через таймер/
и дурней всего.
> как сделать так чтобы выполнялось всегда
программа НИКОГДА не "стоит на месте".
она ВСЕГДА выполняется, в ЛЮБОЙ момент времени.
dabreezy (2006-01-13 13:23:00) [12]Всем спасибо. Легче всего это сделать через таймер/
dabreezy (2006-01-13 13:20:00) [13]Спасибо за ответы. Только я так и не понял :(
Например можно написать: procedure TForm1.FormCreate(Sender: TObject);
будет выполнятся только когда форма создается, а как сделать так чтобы выполнялось всегда
Digitman (2006-01-13 12:29:00) [14]
> dabreezy (13.01.06 12:24) [6]
Класс TThread представляет событие OnTerminate.
Для означенной цели можно воспользоваться в т.ч. и им.
Reindeer Moss Eater (2006-01-13 12:25:00) [15]А куда он сообщит, в какую процедуру?
<Цитата>
Куда тебе надо, туда и сообщит.
Хоть в прокуратуру по факсу.
dabreezy (2006-01-13 12:24:00) [16]
> Reindeer Moss Eater © (13.01.06 12:19) [3]
> Зачем постоянно контролировать 30 потоков, если каж
А куда он сообщит, в какую процедуру?
Reindeer Moss Eater (2006-01-13 12:23:00) [17]Тогда уж лучше создавть 30 потоков в 31 потоке и в нем же делать waitformultiplyobjects
Ega23 (2006-01-13 12:20:00) [18]Поставь в основном потоке таймер и по нему проверяй лист своих потоков.
Или на OnIdle проверку повесь.
Reindeer Moss Eater (2006-01-13 12:19:00) [19]Зачем постоянно контролировать 30 потоков, если каждый из них в состоянии сам сообщить о том, что он завершил работу?
dabreezy (2006-01-13 12:17:00) [20]Я наверное не правильно написал, у меня запускается 30 потоков, и надо чтобы постоянно контролировалось завершился ли хотябы один или все