Таймер - страница 7

 
Yurich:
если бы :)
Наверно разработчикам так проще, иначе пришлось бы объяснять, что глобальные переменные могут быть изменены в обработчике OnTick только на половину когда возникло событие от таймера и программа переключилась на него.
 
Нефиг бездумно пользоваться MessageBox.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / MessageBox
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / MessageBox
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы ввода/вывода / MessageBox - Документация по MQL5
 
pusheax:
Наверно разработчикам так проще, иначе пришлось бы объяснять, что глобальные переменные могут быть изменены в обработчике OnTick только на половину когда возникло событие от таймера и программа переключилась на него.
Для этого существуют короткие "непрерываемые блоки". Прерывание в любом случае ждёт его завершение, потом прерывает.
 
Yurich:
если бы :)
Вот именно.
 
TheXpert:
Нефиг бездумно пользоваться MessageBox.
Вот и пришлось в YuTrade делать два потока, что бы события не пропускать. А с прерываниями все было бы в одном потоке.
 
MetaDriver:
Для этого существуют короткие "непрерываемые блоки". Прерывание в любом случае ждёт его завершение, потом прерывает.

А я вообще не знал об этом и писал с учетом того, что может возникнуть прерывание и данные будут не полностью обработаны.

Ставил флаги начала и окончания обработки.

 
Yurich:
Прерывание - это когда  исполняется  OnTick, а пришло более важное событие, например OnTimer. Исполнение OnTick приостанавливается,  исполняется код OnTimer, затем снова продолжает выполнятся OnTick.
Детсад в общем, нужна хоть какая-то многопоточнось.
 
Yurich:
А с прерываниями все было бы в одном потоке.
А, дурной спор. Так как сейчас -- хорошо.
 
pusheax:

А я вообще не знал об этом и писал с учетом того, что может возникнуть прерывание и данные будут не полностью обработаны.

Ставил флаги начала и окончания обработки.

Ну вот.  Общественность уже наполовину готова.  Можно смело вводить.

;)

 
Interesting:
Детсад в общем, нужна хоть какая-то многопоточнось.
Может, разработчики потом когда-нибудь добавят: CreateThread(NULL,0,CaptureThread,0,CREATE_SUSPENDED,&ThreadId); ?
Причина обращения: