Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить

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

Ср янв 10, 2018 20:05:03

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

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

Ср янв 10, 2018 23:27:35

Рисовать нужно в одном потоке, желательно основном.

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

Ср янв 10, 2018 23:43:41

Особенность программы такова, что процесс рисования идет в реальном времени непрерывно. Если я сделаю графику в основном потоке, программа повиснет.
А всё рисование идет в одном потоке. В других потоках не связанная с графикой обработка.

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

Ср янв 17, 2018 18:48:16

Делема у вас, но выход должен же быть ....

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

Чт фев 15, 2018 17:29:33

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