Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Остановить выполнение пророги в задонном месте до опред. события? [D7, XP]


Андрей Пл ©   (2010-01-05 10:38:00) 

Здравствуйте. (давно не программировал в Делфи прошу подсказать мне!)
У меня есть бесконечный цикл в дополнительном потоке
как мне остановить дальнейшее выполнение программы в заданном месте до наступления определенного события и как только оно наступило продолжить.
Поясню задачу:
У меня есть бесконечный цикл в дополнительном потоке и есть набор устройств которые я последовательно должен опрашивать(через сом порт) так вот после того как я послал запрос к устройству я должен дождаться когда оно мне ответит как только ответил обработать ответ и дальше продолжить опрос следующего устройства
т.е. все выглядит приблизительно так:

 while not Terminated do
 begin
   for i:=1 to N do
   begin
     .......
     послали запрос к  устройству номер i
     как то тут остановить выполнение цикла
     до наступления события- ответ из устройства ?????

     продолжить выполнение с обработкой ответа от устройства номер i
     .......

   end;                                    

 end;


Anatoly Podgoretsky   (2010-01-05 17:57:00) [1]

Ну тогда Break, выйдешь из цикла for,  а не цикла while. Вопрос надо ставить более строго, что бы потом не дезавуировать первое заявление, не заставлять гадать из какого цикла ты именно хочешь выйти.


Андрей Пл   (2010-01-05 17:45:00) [2]


> Anatoly Podgoretsky ©   (05.01.10 15:19) [3]
>   Какой смешной вопрос, конечно же Terminated := True


неее)) это мне весь поток закроет.. это я еще шарю...)


Anatoly Podgoretsky   (2010-01-05 15:19:00) [3]

> Андрей Пл  (05.01.2010 10:38:00)  [0]

Какой смешной вопрос, конечно же Terminated := True


Юрий Зотов   (2010-01-05 13:12:00) [4]

> Андрей Пл   (05.01.10 10:38)

См. в MSDN: CreateFile, WaitComEvent, ReadFile, CloseFile.

А также раздел Communications Functions и пример Monitoring Communications Events.


Ганя   (2010-01-05 11:20:00) [5]

см. CreateEvent, SetEvent, ResetEvent в MSDN


Наверх

Титульная страница Поиск, карта сайта Написать письмо