Hallo Leute,
Ich schreibe an einem Zeichenprogramm, das folgendes macht:
Die Punkte eines Polygons werden gespeichert in:
Delphi-Quellcode:
type
TPointsArray = class (TBaseArray) // mit Funktionen analog zu TIntArray in MxArrays;
var
PointsArray1 := TPointsArray.Create (0,0);
Alle Punkte werden übergeben an:
Delphi-Quellcode:
type
TDynPointsArray = Array of TPoints;
var
DynPointsArray1: TDynPointsArray
DynPointsArray1 := TDynPoints(PointsArray1.List);
und Abgeschnitten mit
SetLength (DynPointsArray1, PointsArray1.count);
Die Zeichnende Funktion lautet
Canvas.Polygon (DynPointsArray1);
Neben der Form auf der gezeichnet wird, ist eine Form enthalten in deren ListBox die einzelnen Punkte als Strings aufgeführt sind.
Ohne diese zweite Form läuft alles ganz gut. Mit dieser Form bekomme ich eine Zugriffsverletzung in der SetLength Zeile.
Frage 1 Was mache ich falsch ?
Frage 2 Habt ihr eine bessere Idee, wie ich auf ein Punkte-Array zugreifen kann als mit einem TPointArray mit den Funktionen: Add, Items, Delete (nach dem Löschen wird die Lücke geschlossen - wichtig ), InsertAt etc.
Mit schönen und freundlichen Grüßen
S.
Vom Leben nichts zu erwarten, ist das Geheimnis aller echten Heiterkeit.
George Bernard Shaw (1856-1950)