![]() |
Kopieren von Recordvariablen... eigentümlicher Fehler
Hallo erstmal!
Ich verzweifle. Ich habe drei Records:
Delphi-Quellcode:
, und ein dynamisches Array vom Typ TFlaeche:
TPts2d = record
name:string; x,y: double; draw:boolean; radius, color:integer; end; TLines2d = record name: string; color_line, color_pts, ptradius: integer; pt1,pt2: TPts2d; draw, drawpts:boolean; end; TFlaeche2d = record color_region, color_line, color_pts, ptradius: integer; lines: array of TLines2d; drawpts, drawlines, drawregion: boolean; end;
Delphi-Quellcode:
Ich kopiere nun ein Element aus orig_flaechen in ein anderes Element, und verändere eines:
var orig_flaechen: array of TFlaeche
Delphi-Quellcode:
Im Debugger muss ich nun feststellen, dass sich die Werte von High(orig_flaechen)].lines[0].pt1.x UND High(orig_flaechen)-1].lines[0].pt1.x verändert haben!!!
orig_flaechen[High(orig_flaechen)] := orig_flaechen[High(orig_flaechen)-1];
inc(orig_flaechen[High(orig_flaechen)].lines[0].pt1.x); Warum geschieht das so? ich greife doch eindeutig nur auf High(orig_flaechen)].lines[0].pt1.x zu! Oder wird da irgendeine Relationalität verursacht beim kopieren? Aber das ist ja nicht der Zweck... wenn ich sage:
Delphi-Quellcode:
, dann ist ja hinterher auch nicht l = 6, sondern immernoch 3...
// ...
var l, m: integer; begin l:=3; m:=l; m:=m+3; end; ---- ==> Wäre nett, wenn jemand die Antwort und am besten auch ne Lösung wüsste und sie hier postet MfG simlei |
Re: Kopieren von Recordvariablen... eigentümlicher Fehler
Hallo simlei,
du mußt beim Kopieren das Feld lines gesondert kopieren, z.B. mit Hilfe der Funktion ![]() ![]() Gruß Hawkeye |
Re: Kopieren von Recordvariablen... eigentümlicher Fehler
Mit Copy gehts...
Warum funktioniert die einfache Zuweisung nicht? |
Re: Kopieren von Recordvariablen... eigentümlicher Fehler
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:21 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