Einzelnen Beitrag anzeigen

Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#10

Re: länge eines 2-Dimensionalen und Dynamischen Array

  Alt 17. Jun 2009, 11:32
Hm... hier krig ich nem Speicherzugrifsfehler:
Delphi-Quellcode:
procedure TGame.InsertMap(aMap: TMap);
var x:integer;
begin
  _Act_X:=0;
  _Act_Y:=0;
  _Map_X:=Length(aMap);
  _Map_Y:=Length(amap[0]);
  Setlength(_Map,_Map_X+1);
  for x:=0 to _Map_X do
    setlength(_map[x],_Map_Y+1);
  _Map:=copy(aMap);// hier krig ich den Fehler...
end;

// so wird aufgerufen:
procedure TForm1.Button1Click(Sender: TObject);
var amap:TMap;
    x,y:integer;
    afield:TField;
begin
  SetLength(amap,31);
  for x:=0 to 30 do
    Setlength(amap[x],31);
  afield.Field:='w';
  afield.Player:='0';
  for x:=0 to 30 do
    for y:=0 to 30 do
      amap[x][y]:=afield;
  amap[1][3].Field:='#';
  Map.InsertMap(amap);
  Map.SaveMap('test2');

end;

// TMap ist so deklariert:
  TField= record
      Field:char;
      Player:char;
    end;

  TMap= array of array of TField;
wisst ihr woran das liegen mag?
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat