Показать сообщение отдельно
  #1  
Старый 20.08.2007, 13:50
ViLkiN ViLkiN вне форума
Прохожий
 
Регистрация: 08.08.2007
Сообщения: 32
Репутация: 10
По умолчанию проблемма с TList

задача - от каждой вершины многоугольника строится 2 точки
пробегая по сторонам мн.
в цикле 2 раза добавляю значения в лист lz.add(mn);

pt.long:=x1+dx;
pt.lat:=y1+dy;
new(mn);
mn.xy_zab:=pt;
lz.Add(mn);
pt.long:=x2+dx;
pt.lat:=y2+dy;
mn.xy_zab:=pt;
lz.Add(mn);

где pt : PDoublePoint;
дело в том, что когда я вывожу этот лист на экран

for t:=0 to lz.Count-1 do
begin
mn:=lz[t];
pt:=mn.xy_zab;
x1:=round(pt.long);
y1:=round(pt.lat);
image1.Canvas.Pen.Color:=clRed;
image1.Canvas.LineTo(x1,y1);
mn:=lz[(t+1) mod lz.count];
pt:=mn.xy_zab;
x2:=round(pt.long);
y2:=round(pt.lat);
image1.Canvas.Pen.Color:=clRed;
image1.Canvas.LineTo(x2,y2);
end;

первая точка игнорируется, прямая строится сразу ко второй точке
что за фигня понять не могу (( в чём может быть проблемма? спс
Ответить с цитированием