Вниз
Скачать: CL | DM;

Остановить выполнение пророги в задонном месте до опред. события?   Найти похожие ветки 

 
Андрей Пл   (2010-01-05 10:38) [0]

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

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

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

   end;                                    

 end;


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

см. CreateEvent, SetEvent, ResetEvent в MSDN


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

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

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

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


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

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

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


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


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


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


 
Anatoly Podgoretsky ©   (2010-01-05 17:57) [5]

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



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
4-1229864623
Максим
2008-12-21 16:03
2010.03.07
взаимодействие с проводником windows


15-1261338686
Kolan
2009-12-20 22:51
2010.03.07
Как найти кто жрет память


15-1261389087
AntonioBanderas
2009-12-21 12:51
2010.03.07
Компонент "Линия"


2-1262423504
serhiyiv
2010-01-02 12:11
2010.03.07
TMemoryStream


15-1261651233
ZeroDivide
2009-12-24 13:40
2010.03.07
Нужны WMR, отдам Яндекс.Деньги




   Наверх