Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.29;
Скачать: CL | DM;

Вниз

Как сделать постоянное выполнение комманд   Найти похожие ветки 

 
dabreezy   (2006-01-13 12:11) [0]

Добрый день
Как сделать так, чтобы пока программа работает, постоянно выполнялись какие либо действия, а не пока что то нажато.


 
Reindeer Moss Eater ©   (2006-01-13 12:14) [1]

чтобы пока программа работает, постоянно выполнялись какие либо действия

Пока программа работает, и так уже постоянно выполняются действия


 
dabreezy   (2006-01-13 12:17) [2]

Я наверное не правильно написал, у меня запускается 30 потоков, и надо чтобы постоянно контролировалось завершился ли хотябы один или все


 
Reindeer Moss Eater ©   (2006-01-13 12:19) [3]

Зачем постоянно контролировать 30 потоков, если каждый из них в состоянии сам сообщить о том, что он завершил работу?


 
Ega23 ©   (2006-01-13 12:20) [4]

Поставь в основном потоке таймер и по нему проверяй лист своих потоков.
Или на OnIdle проверку повесь.


 
Reindeer Moss Eater ©   (2006-01-13 12:23) [5]

Тогда уж лучше создавть 30 потоков в 31 потоке и в нем же делать waitformultiplyobjects


 
dabreezy   (2006-01-13 12:24) [6]


> Reindeer Moss Eater ©   (13.01.06 12:19) [3]
> Зачем постоянно контролировать 30 потоков, если каж

А куда он сообщит, в какую процедуру?


 
Reindeer Moss Eater ©   (2006-01-13 12:25) [7]

А куда он сообщит, в какую процедуру?

<Цитата>

Куда тебе надо, туда и сообщит.
Хоть в прокуратуру по факсу.


 
Digitman ©   (2006-01-13 12:29) [8]


> dabreezy   (13.01.06 12:24) [6]


Класс TThread представляет событие OnTerminate.
Для означенной цели можно воспользоваться в т.ч. и им.


 
dabreezy   (2006-01-13 13:20) [9]

Спасибо за ответы. Только я так и не понял :(
Например можно написать: procedure TForm1.FormCreate(Sender: TObject);
будет выполнятся только когда форма создается, а как сделать так чтобы выполнялось всегда


 
dabreezy   (2006-01-13 13:23) [10]

Всем спасибо. Легче всего это сделать через таймер/


 
Digitman ©   (2006-01-13 13:28) [11]


> Легче всего это сделать через таймер/


и дурней всего.


> как сделать так чтобы выполнялось всегда


программа НИКОГДА не "стоит на месте".
она ВСЕГДА выполняется, в ЛЮБОЙ момент времени.


 
dabreezy   (2006-01-13 13:37) [12]

Так как сделать чтобы выполнялись определенные команды каждый момент, а не при открытии и щелчке на кнопках? Таймер выполняется всегда, например если поставить значение 1 milesecond


 
Desdechado ©   (2006-01-13 13:40) [13]

1 мс ты никогда не достигнешь, в лучшем случае 10 мс
если ты каждые 10 мс будешь что-то выполнять, я твоему компу не завидую, умрет он


 
Digitman ©   (2006-01-13 13:41) [14]


> Таймер выполняется всегда, например если поставить значение
> 1 milesecond


Угу.

А если , например, 3 milesecond, то это уже "не всегда" ?


> как сделать чтобы выполнялись определенные команды каждый
> момент


Они, "команды" эти самые, и так выполняются "каждый момент", ВНЕ зависимости от твоего желания или нежелания.


 
dabreezy   (2006-01-13 13:43) [15]

Так где написать скажем if fl=1 then aaa=0 к примеру, чтобы выполнялось это постоянно?


 
Digitman ©   (2006-01-13 13:45) [16]

в любом месте.

while True do


 
evvcom ©   (2006-01-13 13:46) [17]


> будет выполнятся только когда форма создается, а как сделать
> так чтобы выполнялось всегда

А ты это дело оберни в бесконечный цикл, и будет твой formcreate выполняться "всегда", пока его не убьют. :-)


 
dabreezy   (2006-01-13 13:49) [18]

Аааа. вот как. Это то я и хотел узнать спасибо большое.


 
VirEx ©   (2006-01-13 20:22) [19]


>  [11] Digitman ©   (13.01.06 13:28)
>
> программа НИКОГДА не "стоит на месте".
> она ВСЕГДА выполняется, в ЛЮБОЙ момент времени.

Sleep
SuspendThread


 
n0p ©   (2006-01-13 20:37) [20]


> 1 мс ты никогда не достигнешь, в лучшем случае 10 мс

55 мс...

Ну минимум всегда работает цикл обработки сообщений %)


 
SergP ©   (2006-01-14 11:00) [21]


> n0p ©   (13.01.06 20:37) [20]
>
> > 1 мс ты никогда не достигнешь, в лучшем случае 10 мс
>
> 55 мс...
>
> Ну минимум всегда работает цикл обработки сообщений %)


ИМХО
55 это в WIN 95/98/ME
в 2000/XP вроде бы 10



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

Текущий архив: 2006.01.29;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.029 c
1-1135156589
half_litre
2005-12-21 12:16
2006.01.29
Изображения связанные с компонентами


2-1136955770
Rubey
2006-01-11 08:02
2006.01.29
Работа с MEMO


6-1129976280
WebSQLNeeder
2005-10-22 14:18
2006.01.29
Как в TWebBrowser програмно заполнить input поля на странице или


2-1136805696
LionMen
2006-01-09 14:21
2006.01.29
Ошибка: OLE error 800A03EC


15-1136939588
НТВ
2006-01-11 03:33
2006.01.29
Где можно найти старые статьи 70-80 годов?