![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Рисование с пом. Polyline [D6, WinXP]
megasecure © (2006-11-14 15:19:00)Здравствуйте!
Почему метод Polyline, при передаче ему в кач. параметра динамического массива элементов типа Tpoint, ничего не рисует ?
Вот пример кода:
…
Var array1: array of Tpoint;
P1: ^Tpoint;
…
Begin
…
{далее каким-либо образом заполняем array1}
…
With Form1.canvas do begin
…
Polyline(array1);
…
End;
…
Anatoly Podgoretsky (2006-11-14 16:33:00) [1]Лишнее, достаточно передавать ссылку на первый элемент массива, вместо самого массива.
Eraser (2006-11-14 15:55:00) [2]> [4] Anatoly Podgoretsky © (14.11.06 15:50)
и то верно.
тут лучше что-то вроде array[0..0] of TPoint; и вручную выделять память.
Anatoly Podgoretsky (2006-11-14 15:50:00) [3]Eraser © (14.11.06 15:46) [1]
Код достаточный, ну не знает Виндоус об Дельфи, надо с ним работать как с Виндоус, а не подсовывать ему динамический массив.
Anatoly Podgoretsky (2006-11-14 15:49:00) [4]> megasecure (14.11.2006 15:19:00) [0]
А полилайн знакома с динамическими массивами Дельфи?
Vlad Oshin (2006-11-14 15:48:00) [5]рисует
procedure TForm1.Button1Click(Sender: TObject);
Var
array1: array of Tpoint;
P1: ^Tpoint;
n:integer;
begin
n:=sizeof(tpoint);
setlength(array1,n*5);
array1[1].x:=40;
array1[1].y:=10;
array1[2].x:=20;
array1[2].y:=60;
array1[3].x:=70;
array1[3].y:=30;
array1[4].x:=10;
array1[4].y:=30;
array1[5].x:=60;
array1[5].y:=60;
array1[6].x:=40;
array1[6].y:=10;
with Form1 do
begin
Canvas.Pen.Color := clWhite;
Canvas.Polyline(array1);
end;
end;
Eraser (2006-11-14 15:46:00) [6]> [0] megasecure © (14.11.06 15:19)
ошибка в 17 строке, код давай.