Не выходит из цикла!

отредактировано 01:30 Раздел: FastReport VCL
Здраствуйте, проблема так и тянется.
https://www.fastreport.ru/ru/forum/index.ph...d&pid=32407
проверено на версиях FastReport VCL 4.12 иFastReport VCL 5.4
сейчас на Windows 7 и 8 не воспроизводится. Поймал на двух WIndows Server 2012 R2.
прошлый раз натыкался на эту же проблему, на win 8 при этом на win 7 она не воспроизводилась.
(один софт одни данные)
написал:
frxRich.pas
function TfrxRichView.DrawPart: Extended;

repeat
LastChar := FRichEdit.Perform(EM_FORMATRANGE, 0, frxInteger(@Range));
if chrg.cpMax <> -1 then
LastChar := chrg.cpMax;
chrg.cpMax := FRichEdit.LineFromChar(LastChar - 1) - 1;
if chrg.cpMax < 0 then
break;
chrg.cpMax := FRichEdit.GetLineIndex(chrg.cpMax);
until ((rcPage.Bottom - rc.Bottom >= 0) or
(chrg.cpMax = LastChar));

Насколько понял происходит когда рич растягивается на 2 страницы.
Если в риче, этом или ближе к началу страницы стереть пару строк - т.е. изменить Top рича. ошибка исчезнет.
Воспроизвести в примере крайне трудно. Баг не стабильно выскакивает.

Комментарии

  • gpigpi
    отредактировано 01:30
    Проверьте, появляется ли ошибка на последних сборках FR?

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.