| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > Изображение на канве замирает |
| Автор: zalex 28.3.2006, 22:02 |
| Привет всем. Есть форма MainForm, на ней есть объект MainForm.Image(TImage). И есть поток THRD . У потока в качестве поля есть свой объект THRD.Image, на котором я всё и рисую. После прорисовки очередного кадра я из THRD.Image потока делаю CopyRect на Image формы: Procedure THRD.UpdateCanvas; begin ExtCanvas.CopyRect(Rect,ThrdImage.Canvas, Rect); end; где в процессе создания потока присвоил THRD.ExtCanvas:=MainForm.Image.canvas; Естественно процедура THRD.UpdateCanvas вызывается как Synchronize(UpdateCanvas). Теперь сам вопрос - на скорость описанного мной алгоритма в рамках решаемой задачи не жалуюсь, но если начинаешь вести мышью по _ФОРМЕ_(а не за пределами), картинка замораживается, хотя поток продолжает работать. Грешил на приоритет потока - не помогло. Как быть? |
| Автор: zalex 29.3.2006, 00:16 |
| Разобрался. Засада была в следующем - я прорисовывал канву ThrdImage не используя метода Synchronize. Сообщений об ошибках не возникало, но как видно, работало с ошибками. |