Ошибка при рисовании на канве, Delphi

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 160
Зарегистрирован: Пн сен 05, 2011 10:03:06
Откуда: Тула

Сообщение paskal »

Сразу скажу, с графикой раньше вообще не работал.
В моей программе используется несколько потоков(нитей). Один поток берет данные с переходника USB-COM в реальном времени, другой их обрабатывает, третий по результатам обработки рисует графику. Рисование, естественно, идет непрерывно.
Все рисуется хорошо, но если потащить мышкой работающее окно, вылетает ошибка "Canvas does not allow draving". Происходит это на операции Canvas.CopyRect. Понимаю что причина где то в рисовании разными потоками на одну канву.
Какие способы устранения посоветуют мне более опытные программеры?
Если бы на станции "Мир" стояли Винды, она бы еще висела и висела...
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Рисовать нужно в одном потоке, желательно основном.
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 160
Зарегистрирован: Пн сен 05, 2011 10:03:06
Откуда: Тула

Сообщение paskal »

Особенность программы такова, что процесс рисования идет в реальном времени непрерывно. Если я сделаю графику в основном потоке, программа повиснет.
А всё рисование идет в одном потоке. В других потоках не связанная с графикой обработка.
Если бы на станции "Мир" стояли Винды, она бы еще висела и висела...
Родился
Сообщения: 3
Зарегистрирован: Вт янв 16, 2018 23:18:46

Сообщение ДанилКоржов »

Делема у вас, но выход должен же быть ....
Реклама
Эиком - электронные компоненты и радиодетали
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1363
Зарегистрирован: Чт апр 04, 2013 22:22:57
Откуда: Белгород, РФ

Сообщение SIM31 »

Я кидал на форму таймер, и внутри вызова таймера рисовал анимацию, работает превосходно, можно каждые 16 мс экран перерисовывать.
Реклама
Ответить

Вернуться в «Интеграция с ПК»