![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||||
|
||||||
![]() Подскажите в чем может быть проблема.
Обработчик таймера Код:
Код:
Код:
Последний раз редактировалось nixon232, 14.04.2018 в 15:26. |
#2
|
||||
|
||||
![]() По Вашему коду остается только догадываться, что Вы пытаетесь сделать.
Могу предположить, что используется один дополнительный поток Thr и для него инициализирована одна критическая секция FLock. Для чего Вам FOnTime, и FLock? Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#3
|
|||
|
|||
![]() Цитата:
Я уже и через Property пробовал и все равно при втором проходе возвращает True. Хотя, по логике, если там True, то я бы уперся в крит. секцию. Неужели нужно паузу ставить в момент смены флага? |
#4
|
||||
|
||||
![]() Цитата:
Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. Последний раз редактировалось dr. F.I.N., 15.04.2018 в 18:12. |
#5
|
|||||||||
|
|||||||||
![]() Цитата:
Сам поток правда в цикле крутится с такой паузой в цикле Код:
Код:
Код:
Код:
Последний раз редактировалось nixon232, 15.04.2018 в 19:24. |
#6
|
||||
|
||||
![]() Есть подозрение, что в основном потоке вы вызываете метод объекта Thr. InitWork где должен происходить? в основном или доп потоке?
Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
#7
|
|||
|
|||
![]() Цитата:
Код:
Последний раз редактировалось nixon232, 15.04.2018 в 19:57. |
#8
|
||||
|
||||
![]() Ну, для передачи параметра в поток можно в доп-потоке сделать цикл сообщений и отправлять туда PostThreadMessage.
Еще раз повторюсь, я просто строю догадки о том, что Вы пытаетесь сделать. Есть вероятность, что я советую лишнее. Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
Этот пользователь сказал Спасибо dr. F.I.N. за это полезное сообщение: | ||
nixon232 (15.04.2018)
|
#9
|
|||
|
|||
![]() Цитата:
Ну либо его стопать перед изменением? Ваша догадка про вызов из главного потока оказалось верной, если не вызывать явно InitWork, то флаг отрабатывает. Последний раз редактировалось nixon232, 15.04.2018 в 21:50. |
#10
|
||||
|
||||
![]() Если хотите работать с объектом потока и менять его параметры или вызывать некую процедуру, можно либо создать в потоке очередь сообщений и из главного потока слать PostThreadMessage (как я уже писал), или сделать тоже самое на событиях.
Код:
Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |
Этот пользователь сказал Спасибо dr. F.I.N. за это полезное сообщение: | ||
nixon232 (16.04.2018)
|
#11
|
|||
|
|||
![]() Спасибо, более чем доходчивый пример.
|
#12
|
||||||||
|
||||||||
![]() Попытался я реализовать вашу идею и что не получается. не подскажите в чем косяк?
Код:
Код:
Код:
Код:
Читал другие сайты, якобы нужно юзать WaitForSinglObject, но ведь WAIT_OBJECT_0 и WAIT_OBJECT_0+1 срабатывает? и не уверен, что передавать нужно @FHandles[0] или @FHandles? |
#13
|
||||
|
||||
![]() Решил, что проще будет написать пример
![]() И еще, WaitForSinglObject - используется для проверки единичного события, а WaitForMultipleObjects - для нескольких (третий параметр означает True - "ждать всех событий", False - "ждать любое событие из...") А что касается @FHandles[0] или @FHandles, то тут такая ситуация: Допустим у вас в массиве FHandles 5 хендлов событий и на текущей операции вы хотите отслеживать только с третьего, то передаете в качестве параметра ссылку на третий (не забудьте корректно указать количество отслеживаемых хендлов WaitForMultiplyObjects(3, @FHandles[2],...)). А если нужно отслеживать все, то указание @FHandles[0] или @FHandles равнозначно. Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. Последний раз редактировалось dr. F.I.N., 21.04.2018 в 14:20. |
Этот пользователь сказал Спасибо dr. F.I.N. за это полезное сообщение: | ||
nixon232 (21.04.2018)
|
#14
|
|||
|
|||
![]() Цитата:
|