Wunder schönen guten MOrgen;
habe ein Problem mit einer Objectlist.
Wollte ein Liste erstellen, die Koordinaten von der maus enthält.
Hier das Type der
Unit, wo die Liste drin ist.
Delphi-Quellcode:
type
TPunkte = class
y_koordinat, x_koordinat: integer;
end;
type
TPoly = class(TObject)
protected
function getnextkonvexhullpoint(punkt: TPunkte): TPunkte;
private
function LookHightKoordinat(punkte: TPunkte): TPunkte;
public
Liste: Tobjectlist<TPunkte>;
function SaveKoordinatx: integer;
function SaveKoordinaty: integer;
constructor create; overload;
end;
in ner anderen
unit wollte ich nun die Atrubute der Klasse Tpunkte füllen und diese anschließend der Liste
Tpoly.liste hinzufügen
sobald aber ein weiterer Koordinat hinzukommt, also die Atribute der Klasse Tpunkte sich ändern, ändern diese sich auch in der liste.
ANtscheind benutz die Liste und die Atribute den selben Platz im Speicher ...
Wie kann ich nun das Problem uumgehen sodas auf den unterschiedlichen Indexen auch unterschiedliche Koordinaten stehen ?
Delphi-Quellcode:
procedure TFrame1.FrameClick(Sender: TObject);
var
I: integer;
begin
self.CheckListen;
Punkt.y_koordinat := Poly.SaveKoordinaty;
Punkt.x_koordinat := Poly.SaveKoordinatx;
Poly.Liste.Add(Punkt);
Label5.Caption := '';
for I := 0 to Poly.Liste.Count - 1 do
begin
Label5.Caption := Label5.Caption + slinebreak + ' Koordinat y ; Position' +
inttostr(I) + inttostr(Poly.Liste[I].y_koordinat) + slinebreak +
' Koordinat x Position ' + inttostr(I) + ' ' +
inttostr(Poly.Liste[I].x_koordinat);
end;
end;