Ошибка List index out of Bounds
При экспорте отчёта в текстовый файл можно получить List index out of Bounds
Проблема в
Проблема в
procedure TfrxTXTExport.OrderObjectByCells;
var
obj, c, fx, fy, dx, dy, mi: integer;
m, curx, cury: Extended;
begin
for obj := 0 to PageObj.Count - 1 do
begin
fx := 0; fy := 0;
dx := 1; dy := 1;
for c := 0 to RX.Count - 1 do
if Round(PObjCell(RX[c]).Value) = Round(TfrxView(PageObj[obj]).Left) then
begin
fx := c;
m := TfrxView(PageObj[obj]).Left;
mi := c + 1;
curx := TfrxView(PageObj[obj]).Left + TfrxView(PageObj[obj]).Width;
while Round(m) < Round(curx) do
begin
// Проблема в следующей строке mi может стать больше RX.Count - 1
m := m + PObjCell(RX[mi]).Value - PObjCell(RX[mi - 1]).Value;
inc(mi);
end;
dx := mi - c - 1;
break;
end;
for c := 0 to RY.Count - 1 do
if Round(PObjCell(RY[c]).Value) = Round(TfrxView(PageObj[obj]).Top) then
begin
fy := c;
m := TfrxView(PageObj[obj]).Top;
mi := c + 1;
cury := TfrxView(PageObj[obj]).Top + TfrxView(PageObj[obj]).Height;
while Round(m) < Round(cury) do
begin
// Здесь у меня ошибки не возникало, но по - видимому то же самое
m := m + PObjCell(RY[mi]).Value - PObjCell(RY[mi - 1]).Value;
inc(mi);
end;
dy := mi - c - 1;
break;
end;
ObjPosAdd(ObjectPos, fx, fy, dx, dy, obj);
end;
end;
Комментарии