Y
young
Привет всем!!! Наверняка многие работали с этим замечательным классом! Поэтому надеюсь получить от вас подсказку=)
Проблема заключается в следующем. стояла задача написать графический компонент, который рисует на канве график функции. А работать с этим компонентом необходимо через трэд. То есть функция рисования вызывается из объекта типа TThread. В качестве Входных параметров функции должен быть массив со значениями точек, по которым строится график. Все это происходит в реалтайме, то есть из внешнего приложения поступает буфер со значениями в трэд, трэд кидает это в функцию рисования, функция рисует. Буфер постоянно меняет свои значения.
Итак, что я сделал. Написал компонент, создал трэд. Но за формирование буфера со значениями отвечал у меня сам поток, а его должно передавать внешнее приложение. Теперь я в ступоре, каким образом сделать динамическую передачу новых значений в поток, да так чтобы все рисовалось в динамике, как на осциллографе. Я все понимаю, что надо проверять обработал ли поток предыдущий буфер. Если ДА, то можно передавать следующий, если НЕТ, то ждать и т.д. Но не могу понять, как это организовать.
Проблема заключается в следующем. стояла задача написать графический компонент, который рисует на канве график функции. А работать с этим компонентом необходимо через трэд. То есть функция рисования вызывается из объекта типа TThread. В качестве Входных параметров функции должен быть массив со значениями точек, по которым строится график. Все это происходит в реалтайме, то есть из внешнего приложения поступает буфер со значениями в трэд, трэд кидает это в функцию рисования, функция рисует. Буфер постоянно меняет свои значения.
Итак, что я сделал. Написал компонент, создал трэд. Но за формирование буфера со значениями отвечал у меня сам поток, а его должно передавать внешнее приложение. Теперь я в ступоре, каким образом сделать динамическую передачу новых значений в поток, да так чтобы все рисовалось в динамике, как на осциллографе. Я все понимаю, что надо проверять обработал ли поток предыдущий буфер. Если ДА, то можно передавать следующий, если НЕТ, то ждать и т.д. Но не могу понять, как это организовать.