Einzelnen Beitrag anzeigen

schuetzejanett

Registriert seit: 5. Apr 2006
Ort: Fraureuth
62 Beiträge
 
#1

Fehler bei setlength von dynamischen Array

  Alt 4. Jan 2007, 18:36
Hallo ich habe eine Klasse spieler in der der u.a der typ tshot = array[0..2] of String und der Typ TApoints = Array of Tshot definiert sind.
Nun möchte ich von einer anderen Unit aus auf diesen TAPoints Typ zugreifen und dort dynamisch die Länge setzen. Das geht beim ersten Mal auch aber sobald ich den befehl noch mal aufrufe würft er eine EinvalidPointer Exception ungültige zeigeroperation.
Woran liegt das was mache ich falsch?

Delphi-Quellcode:

type TShot = Array[0..2] of String;
type tAPoints = Array of TShot;

procedure TForm_Game.bokClick(Sender: TObject);
var goals : Tshot;
 points : TAPoints;
 
begin
  points := aplayer[aktplayer].points;
  goals[0]:= lewurf1.Text;
  goals[1]:= lewurf2.Text;
  goals[2]:= lewurf3.Text;

  case start.art of
    2:begin
       X01.throw(aplayer[aktplayer], goals );
       alabel[aktplayer].Text := inttostr(aplayer[aktplayer].stand);
       setlength(points, length(points)+1);
       points[high(points)] := goals;
       aplayer[aktplayer].points := points;
       astringgrid[aktplayer *2].Cells[1,length(points)] := goals[0];
       astringgrid[aktplayer *2].Cells[2,length(points)] := goals[1];
       astringgrid[aktplayer *2].Cells[3,length(points)] := goals[2];
       changePlayer;
      end;
  end;
end;
  Mit Zitat antworten Zitat