Форум: "KOL";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];
ВнизРабота с TBitmap в KOL Найти похожие ветки
← →
<Falcon> (2005-01-21 14:39) [0]Возможно кто-то сталкивался с подобной ситуацией.
На форме лежит PaintBox, в onPaint событии есть такой код
procedure TForm4.PaintBox1Paint(Sender: PControl; DC: HDC);
begin
PaintBox1.Canvas.Brush.Color:=clBtnFace;
PaintBox1.Canvas.FillRect(MakeREct(0,0,PaintBox1.Width,PaintBox1.Height));
PaintBox1.Canvas.Brush.Color:=clWhite;
PaintBox1.Canvas.FillRect(ListR);
if Page <> 0 then
StretchBlt(PaintBox1.Canvas.Handle,X,Y,DRect.Right-DRect.Left, DRect.Bottom-DRect.Top,
SumBitmap.Canvas.Handle,SRect.Left,SRect.Top,SRect.Right-SRect.Left, SRect.Bottom-SRect.Top,SRCCOPY);
end;
SumBitmap создается при создании формы, освобождается по закрытию, а его содержимое меняется по событиям в программе (а также ширина, высота, свойства кисти)
При этом после одного-двух изменений в битмэпе программа вылетает с ошибкой AccessVialation на коловской функции Canvas.GrtPen
Что может быть причиной?
D7 WinXP KOL2.0
← →
miek © (2005-01-21 20:16) [1]Такое было в старых версиях KOL. У тебя какая?
← →
thaddy (2005-01-22 00:59) [2]I can not reproduce this ..
.. did a loop of 100 times... (without pause)
Maybe something different?
← →
<Falcon> (2005-01-22 19:54) [3]
> Такое было в старых версиях KOL. У тебя какая?
У меня версия 2.0
К стати, при изменении высоты битмэпа вводится строка
HandleType := bmDDB;
при изменении ширины - нет. Почему и вообще, для чего это нужно?
← →
miek © (2005-01-23 00:08) [4]О, DDB - это плохо, с ним всегда бывают глюки. Создавай битмап через NewDIBitmap (могу ошибиться в названии) и сразу задавай его формат. 90% уверенности, что все проблемы исчезнут.
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c