Problem z zapisem i wyswietlaniem zawartosci tablicy

0

Witam
Mam problem z odczytem i zapisem wsporzednych z klasy zadeklarowanej w dodatkowej bibliotece. Klasa zawiera wsporzedne punktow. Zawiera sie ona w innej klasie ktora odpowiada za rysowanie linii:

klasa jest zdefinowana nastepujaco:

TPNode = class(TObject)
PrevN: TPNode;
Point: TPoint;
NextN: TPNode;

Odczyt:

globalne:
var
point2 : array [1..100] of TPoint;

PNode := Pl.Lines[0].LNod;
j:=1;
repeat
ShowMessage(IntToStr(PNode.Point.X) + ' x ' + IntToStr(PNode.Point.Y)); //test czy szczytuje

for I := 0 to j do
begin
point2[i].X:=PolyNode.Point.X;
point2[i].Y:=PolyNode.Point.Y;

edit1.Text:= inttostr(i);
edit2.Text:= inttostr(j);
j:=j+1;
end;

edit6.Text := inttostr(i);

edit5.Text:= inttostr(j);

   PNode := PNode.NextN;

until (not Assigned(PNode));

Memo1.Lines.Add(IntToStr(point2[1].X)); //sprawdzenie zapisanych wartosci
Memo1.Lines.Add(IntToStr(point2[1].Y));
Memo1.Lines.Add(IntToStr(point2[2].X));
Memo1.Lines.Add(IntToStr(point2[2].Y));

Memo1.Lines.Add(IntToStr(point2[3].X));

Memo1.Lines.Add(IntToStr(point2[3].Y));
Memo1.Lines.Add(IntToStr(point2[4].X));
Memo1.Lines.Add(IntToStr(point2[4].Y));

Kiedy linia jest narysowana domyslnie od punktu 0x0 do jakiegos powiedzmy 654 x 3432 to Memo wyswietla same zera, w momecie kiedy przesune linie w inny punkt wyswietla juz niby poprawnie, ale wszytkie pola zawieraja kopie danych z pol [1] i [2]. Nie wiem czemu wewnatrz petli for zmienne i oraz j maja te same wartosci natomiast poza nia wartosc ta zmienia sie zgodnie z zalozeniem.
Np. dla 4 punktow pobralo mi takie wartosci

message wyswietlil:
3045 x 29099
2377 x 22336
1749 x 16803
550 x 4099

memo:
550
0
550
29099
550
22336

Prosil bym o jakeis sugestie jak moglbym sie zabrac za zapisanie wartosci do poin2 i ich wyswietlenie?

0

poprawka mialo byc:
point2[i].X:=PNode.Point.X;
point2[i].Y:=PNode.Point.Y;

1 użytkowników online, w tym zalogowanych: 0, gości: 1