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?