Ich postete eine Frage zur Behebung eines Fehlers in einer Methodendeklaration in einem Formular in Delphi, aber nachdem ich es behoben hatte, tauchte ein weiterer Fehler beim Kompilieren auf und sagte, dass das Projekt project1.exe die Ausnahmeklasse EStringListError mit der Meldung 'list index out of bounds(0)' aufgeworfen hat, wenn ich die Taste continue drücke, die nicht funktioniert, aber wenn ich die Taste break drücke, blinkt sie auf dem Code neraz:=true;
mein nachstehender Code
Procedure Reload;
var
i:integer;
begin
form1.ListBox1.Clear;
form1.ListBox2.Clear;
if neraz then
HD;
neraz:=true;//..................here
form1.Label3.Caption:='free: '+inttostr(vs*32)+' byte'+#10#13+'cluster size = 32 bytes';
i:=TABLE[nk1].nach;
KolP1:=0; KolP2:=0;
while (FAT[i]<>1024) do begin
if TABLE[fat[i]].tip then begin
form1.ListBox1.Items.Add('dir>'+TABLE[fat[i]].name);
inc(kolP1);
end
else
if TABLE[fat[i]].format='txt' then
form1.ListBox1.Items.Add('f_text> '+TABLE[fat[i]].name+'.'+TABLE[fat[i]].format)
else
form1.ListBox1.Items.Add('f_bin> '+TABLE[fat[i]].name+'.'+TABLE[fat[i]].format);
if (fat[i]<>0) then
i:=fat[i];
end;
i:=TABLE[nk2].nach;
while (FAT[i]<>1024) do begin
if TABLE[FAT[i]].tip then begin
form1.ListBox2.Items.Add('dir>'+TABLE[fat[i]].name);
inc(kolP2)
end
else
if TABLE[fat[i]].format='txt' then
form1.ListBox2.Items.Add('f_text> '+TABLE[fat[i]].name+'.'+TABLE[fat[i]].format)
else
form1.ListBox2.Items.Add('f_bin> '+TABLE[fat[i]].name+'.'+TABLE[fat[i]].format);
if (fat[i]<>0) then
i:=fat[i];
end;
vfail;
end;
procedure HD;
var
i: integer;
begin
for i := 0 to 49 do begin
with form2.ListView1.Items[i] do begin
SubItems[0] := TABLE[i].name;
SubItems[1] := TABLE[i].format;
if TABLE[i].tip then
SubItems[2] := 'folder'
else
SubItems[2] := 'file';
SubItems[3] := IntToStr(TABLE[i].nach);
SubItems[4] := IntToStr(TABLE[i].razmer);
end;
form2.ListView2.Items[i].SubItems[0] := IntToStr(fat[i]);
end;
end;