Нумерация страниц

отредактировано 10:31 Раздел: FastReport 4.0
Есть отчет
groupheader
masterdata rowcount=1
detaildata1
detaildata2
groupfooter

в обоих detaildata находятся Subreport
Page_Memo находится на groupfooter

надо посчитать количество страниц в detaildata если там получилось больше одной
делаю
procedure detaildata1OnBeforePrint
begin
  p:=<Page>;
end;

procedure detaildata2OnBeforePrint
begin
  p:=<Page>;
end;

procedure PageFooter1OnBeforePrint(Sender: TfrxComponent);
begin
    vPage:=<Page>-p+1;
    if vPage>1 then                              
      Page_Memo.text:='Страница ' +  inttostr(vPage);
    else
     Page_Memo.text:='';                                  
end;
и получаю абсолютно непредсказуемый результат
иногда правильно считаются страницы, иногда больше на одну, иногда меньше
Отчет однопроходный
StartNewPage мне тут не подходит

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

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