Ich bin am verzweifen.Das Programm hat wunderbar funktioniert, aber seit ich ein normales Array gegen ein dynacmishes ausgetauscht habe tauchen lauter Fwhler auf. Das Programm scheint aber, wenn man die Fehler wegklickt weiterzulaufen.
Fehler im Anhang
Fehler beim starten:
http://img262.imageshack.us/my.php?image=fehler1pq2.png
Fehler beim beenden:
http://img352.imageshack.us/img352/7655/fehler2bu2.png
Woran könnte das liegen?
Delphi-Quellcode:
[...]
[b] Feld,Feld2: array of array of boolean;[/b]
a,b,Menge,Feldmase:integer;
Num,Save:TstringList;
sMenge:string;
implementation
{$R *.dfm}
procedure TForm1.ConfigField();
begin
Tabelle.DefaultColWidth:=round(513/Feldmase);
Tabelle.DefaultRowHeight:=round(513/Feldmase);
Tabelle.RowCount:=Feldmase;
Tabelle.ColCount:=Feldmase;
end;
[..]
procedure TForm1.ShowData;
var x,y,z,S1:integer;
begin
for x:=0 to 15 do begin
for y:=0 to 15 do begin
If Feld[x+1,y+1]=false then begin
Tabelle.Cells[x+1,y+1]:=''
end;
If Feld[x+1,y+1]=true then begin
Tabelle.Cells[x+1,y+1]:='X'
end;
end;
end;
for S1:=0 to 14 do begin
Tabelle.Cells[S1,0]:='X';
Tabelle.Cells[S1,14]:='X';
Tabelle.Cells[0,S1]:='X';
Tabelle.Cells[14,S1]:='X';
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var S1,S2:integer;
begin
[b]Feldmase:=16;
SetLength(Feld,Feldmase,Feldmase);
SetLength(Feld2,Feldmase,Feldmase);
ConfigField();[/b]
procedure TForm1.Button9Click(Sender: TObject);
var check:boolean;
temp:integer;
begin
check:=false;
try
temp:=round(Strtoint(Edit4.Text));
If temp<10 then begin
check:=true;
end;
If temp>40 then begin
check:=true;
end;
If check=true then begin
ShowMessage('Ungültiger Wert');
end;
If check=false then begin
Feldmase:=temp;
end;
except
ShowMessage('Bitte nur Zahlen eingeben');
end;
ConfigField();
end;
end.
Natürlich würde es so noch nicht funktionierren( also das machen was es soll).
Aber woran kann dieser Fehler leigen?
Die neuen Stellen sind fett
EDIT: Ein wenig eingekürtz an den Stellen, wo ich cnihts verändert hatte