AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Mehrdim. Dyn. Array of TMyType echt kopieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrdim. Dyn. Array of TMyType echt kopieren

Ein Thema von dizzy · begonnen am 18. Jul 2004 · letzter Beitrag vom 19. Jul 2004
 
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#1

Mehrdim. Dyn. Array of TMyType echt kopieren

  Alt 18. Jul 2004, 17:26
Hi!

Ich versuche schon die ganze Zeit ein dynamisches Array dass ein Feld meines Formulars ist in eine lokale Prozedurvariable "echt" zu kopieren.
Zur Zeit mache ich das über eine Doppelschleife (da 2D-Array):
Delphi-Quellcode:
type
  TMyType = record
    x, y: double;
  end;

  TForm1 = class(TForm)
  ...
  Grid: array of array of TMyType;
  end;

.
.
.

procedure DoSomething;
var x, y: integer;
    LGrid: array of array of TMyType;
begin
  SetLength(LGrid, Length(Grid), Length(Grid[0]));
  for y := 0 to Length(LGrid[0])-1 do
  begin
    for x := 0 to Length(LGrid)-1 do
    begin
      LGrid[x,y].x := Grid[x,y].x;
      LGrid[x,y].y := Grid[x,y].y;
    end;
  end;
end;
Das finde ich allerdings ziemlich unschön. Copy aber meckert, dass der Parameter nicht möglich sei (wobei in der OH steht, dass dyn. Arrays auch gehen (aber wohl keine mehrdim.)), und mit Move produziere ich dauernd Zugriffsverletzungen
So hab ich's versucht:
Delphi-Quellcode:
SetLength(LGrid, Length(Grid), Length(Grid[0]));
Move(Grid, LGrid, Length(Grid) * Length(Grid[0]) * SizeOf(TMyType);
Habe auch mal versucht nicht bei Grid und LGrid "array of array of TMyType" zu schreiben, sondern hab nen Typ dafür gemacht. Aber in beiden Fällen gibt das leider eine AV an Adresse 0x00000000. Wie kann ich denn mehrdim. dyn. Arrays auf einen Schlag kopieren?

Danke euch schon mal!
dizzy
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz