Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   länge eines 2-Dimensionalen und Dynamischen Array (https://www.delphipraxis.net/135754-laenge-eines-2-dimensionalen-und-dynamischen-array.html)

Medium 17. Jun 2009 15:52

Re: länge eines 2-Dimensionalen und Dynamischen Array
 
Klassischer Off-By-One Fehler. Length() gibt die Länge des Arrays zurück, was bei 0-basierten Arrays um 1 über dem höchsten Index liegt. Du greifst also knapp dahinter => AV. Nutze High() oder Length()-1.

Muetze1 17. Jun 2009 16:08

Re: länge eines 2-Dimensionalen und Dynamischen Array
 
Und nochwas: Copy() liefert dir eine komplette Kopie zurück, somit kannst du dir das SetLength() auf dem Zielarray komplett sparen, wird dann bei der Zuweisung der Kopie danach eh komplett wieder abgeräumt...

Teekeks 17. Jun 2009 17:09

Re: länge eines 2-Dimensionalen und Dynamischen Array
 
Das hier geht leider auch nicht:
Delphi-Quellcode:
procedure TGame.InsertMap(aMap: TMap);
var x,y:integer;
begin
  _Act_X:=0;
  _Act_Y:=0;
  _Map_X:=High(aMap);
  _Map_Y:=High(amap[0]);
  _Map:=Copy(aMap);// hier bleibt er stecken...
end;
Fehlermeldung:
"Project raised exception class 'RunError(204)'."
Wisst ihr was ich jetzt falschmache?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:04 Uhr.
Seite 2 von 2     12   

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