Баг в Fastreport 5.1.8 (frxpreviewpages.pas)
perceptron
Минск
Открываю отчёт. На нём вывожу 3 листа формата A6 которые будут печататься на одном A4 через PrintJoinedPages в frxPreviewPages.pas
Далее нажимаю Печать.
В настройках выбираю "Текущая"
Получаю в
function GetPageIndex(Index: Integer)
...
if pgList.Count > 0 then
begin
pgIdx := StrToInt(pgList[Index]) - 1; // pgList[Index] содержит некорректный индекс и тут получаем ListIndex Out of bounds (1)
...
В итоге печать подвисла...
Если пофиксить проверкой
if (pgList.Count > 0) and (Index < pgList.Count)
то ошибка не возникает, но на печать в итоге идёт не только выделенная страница A6 а и другие страницы, пока не заполнится весь лист A4 !
P.s. И эта ошибка тянется с давних пор и в младших версиях FastReport...
Далее нажимаю Печать.
В настройках выбираю "Текущая"
Получаю в
function GetPageIndex(Index: Integer)
...
if pgList.Count > 0 then
begin
pgIdx := StrToInt(pgList[Index]) - 1; // pgList[Index] содержит некорректный индекс и тут получаем ListIndex Out of bounds (1)
...
В итоге печать подвисла...
Если пофиксить проверкой
if (pgList.Count > 0) and (Index < pgList.Count)
то ошибка не возникает, но на печать в итоге идёт не только выделенная страница A6 а и другие страницы, пока не заполнится весь лист A4 !
P.s. И эта ошибка тянется с давних пор и в младших версиях FastReport...
Комментарии
Исправьте в след. версиях, чтоб вручную не менять каждый раз...