Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Рисование с пом. 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 строке, код давай.


Наверх

Титульная страница Поиск, карта сайта Написать письмо