![]() |
Canvas.Polygon und Dynamisches Array of TPoint
Hallo, ich habe gerade das Problem, dass ich in einer eigenen Klasse ein Dynamisches Array vom Type TPoint erstellt habe.
Dieses möchte ich dann in der Funktion Canvas.Polygon zum Zeichnen übergeben. Doch beim Compilieren funktioniert es nicht und er bleibt unterhalbe dieser Codezeile hängen.
Delphi-Quellcode:
das hier ist die Porblemzeile die nicht funktionieren will:
Type THolder = record
Polygon : array of TPoint; HolderPointCount : integer; HolderBrushColor : TColor; HolderPenColor : TColor; HolderPenWidth : TColor; end; ... FHolders : array of THolder; ... self.FImage.Canvas.Polygon(FHolders[i - 1].Polygon);
Delphi-Quellcode:
aber wieso?
self.FImage.Canvas.Polygon(FHolders[i - 1].Polygon);
Was mache ich falsch, bzw wo ist hier der Denkfehler? LG Marco |
AW: Canvas.Polygon und Dynamisches Array of TPoint
Der Parameter ist ein offenes Array, da kannst Du kein dynamisches übergeben. Siehe auch
![]() |
AW: Canvas.Polygon und Dynamisches Array of TPoint
Kompiliert und läuft beides von D7 bis Delphi XE,
ich weiß leider nicht was bei Dir klemmt
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
Type THolder = record Polygon : array of TPoint; HolderPointCount : integer; HolderBrushColor : TColor; HolderPenColor : TColor; HolderPenWidth : TColor; end; var i:Integer; ...... ...... FHolders : array of THolder; begin Canvas.Polygon(FHolders[i - 1].Polygon); end; procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); type TP=Array of TPoint; var p:TP; begin SetLength(p,4); p[0].X := 10; p[0].Y := 10; p[1].X := 100; p[1].Y := 10; p[2].X := 100; p[2].Y := 200; p[3].X := 10; p[3].Y := 10; Canvas.Polygon(p) end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 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 by Thomas Breitkreuz