Вниз
Скачать: CL | DM;

Работа с 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.028 c
14-1123617830
quickblack
2005-08-10 00:03
2005.09.04
help, please


5-1097147033
far
2004-10-07 15:03
2005.09.04
Потеря ссылки на компонент


14-1123360358
mmms
2005-08-07 00:32
2005.09.04
Лицензия от Delphi 2005 Professional


14-1123910140
***_Diman_***
2005-08-13 09:15
2005.09.04
как с пом. wsprintf отрубить в дате столетия?


14-1123673384
msguns
2005-08-10 15:29
2005.09.04
Заточка ножей.




   Наверх