Форум: "Основная";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
ВнизМассив HRGN Найти похожие ветки
← →
webpauk (2006-10-12 15:23) [0]
type
TmyRec = record
X, Y, Z: Integer;
Rgn: HRGN;
end;
var
fArr: array of TmyRec;
procedure Example;
var
I: Integer;
fArr3: array[0..2] of Tpoint;
Z: Integer;
begin
Z:=3000+Random(1000);
SetLength(fArr, Z);
Farr3[0]:=Point(0, 0);
Farr3[1]:=Point(10, 0);
Farr3[2]:=Point(0, 10);
for I := 0 to Z-1
begin
fArr[I].X:=10;
fArr[I].Y:=10;
fArr[I].Z:=10;
fArr[I].RGN:=CreatePolygonRgn(fArr3, 3, ALTERNATE)
end;
end;
вопрос такой: при частом обращении к procedure Example выскакивает ошибка "Canvas does not allow drawing".
Я так думаю из-за того, что память не очищается. SetLength(fArr, 0) - не помогает. A -DleteObject(fArr[I].RGN)
- выскакивает ошибка.
← →
MBo © (2006-10-12 15:29) [1]Зачем тебе несколько тысяч регионов?
Это растрата места в таблице дескрипторов и ценной системной памяти
← →
webpauk (2006-10-12 15:32) [2]
> MBo © (12.10.06 15:29) [1]
пишу программу графически пароль. Там определяется попадание курсора в заданный регион. Регион определяется 3 точками. Точки всё время меняются и задаются 20 фигурами
← →
webpauk (2006-10-12 15:51) [3]help
← →
Ketmar © (2006-10-12 16:53) [4]выкинь регионы и проверяй непосредственно координаты. математика спасёт ОРД.
← →
webpauk (2006-10-12 16:59) [5]
> Ketmar © (12.10.06 16:53) [4]
спасиб
уже допер
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.047 c