Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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. Сообщений об ошибках не возникало, но как видно, работало с ошибками.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)