我有一個DBGrid
並使用它來獲取數據到Array
。但只要我按下按鈕來做這個過程,我會得到一個StackOverFlow錯誤?這裏是我使用的代碼:StackOverFlow錯誤
iRy := 0;
iCol := DBGrid.Columns.Count;
sTest := DBGrid.Columns[0].Field.AsString;
While sTest <> '' do
begin
for k := 1 to iCol do
begin
arrData[iRy+1,iCol] := DBGrid.Columns[iCol].Field.AsString;
end;
Inc(iRy);
DBGrid.DataSource.DataSet.Next;
sToets := DBGrid.Columns[0].Field.AsString;
end;
我正在使用Delphi 7。
不適合於誤差計算器(可能的無效訪問一個sideeffect這裏arrData [IRY + 1,ICOL]或這裏DBGrid.Columns [ICOL]。),但列和動態數組Zerobased(對於k: = 0到iCol-1)。 'Not Dataset.EOF' condition is missing in While While – bummi
sToets:= DBGrid.Columns [0] .Field.AsString ;, you want ** sTest **:= DBGrid.Columns [0] .Field.AsString ;,你的循環將循環到無窮大或直到你填滿整個棧(這首先發生) – ComputerSaysNo
你能修復你的錯字,看看你是否仍然得到相同的錯誤 –