![]() |
Probleme mit SetLength und dynamischen Arrays.
Hallo Leute,
Ich schreibe an einem Zeichenprogramm, das folgendes macht: Die Punkte eines Polygons werden gespeichert in:
Delphi-Quellcode:
Alle Punkte werden übergeben an:
type
TPointsArray = class (TBaseArray) // mit Funktionen analog zu TIntArray in MxArrays; var PointsArray1 := TPointsArray.Create (0,0);
Delphi-Quellcode:
und Abgeschnitten mit
type
TDynPointsArray = Array of TPoints; var DynPointsArray1: TDynPointsArray DynPointsArray1 := TDynPoints(PointsArray1.List);
Delphi-Quellcode:
Die Zeichnende Funktion lautet
SetLength (DynPointsArray1, PointsArray1.count);
Delphi-Quellcode:
Neben der Form auf der gezeichnet wird, ist eine Form enthalten in deren ListBox die einzelnen Punkte als Strings aufgeführt sind.
Canvas.Polygon (DynPointsArray1);
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz