Прерывание выполнение отчёта

отредактировано November 2010 Раздел: FastReport 3.0
Добрый день! FR3. Необходимо после старта отчёта при некоторых условиях отказаться от формирования отчёта, чтобы даже пустые листы не отображались.
Проверка на вызывающей стороне не подходит.

В это FR2 было реализовано так:
1) добавлялась пустая форма
2) на её единственном событии OnActivate был такой скрипт:
begin
  ReportData.Query1.Open;
  if Query1.ItemID = 0 then 
  begin
    Page2.Visible := False; 
    Page3.Visible := False; 
    Page4.Visible := False; 
    ModalResult:=[MRCANCEL]
  end
  else
    ModalResult:=[MROK]
end

Если аналогичное сделать на FR3, то форма тупо отображается и ждёт, пока её закроют (правда, для этого надо добавить на неё хотя бы один элемент, иначе события формы вообще не отрабатывают). Никакие листы не скрываются!

Вопрос: как на FR3 прервать отчёт в самом начале выполения и не показывать ни одного листа?

Комментарии

  • отредактировано 15:59
    Проблему решил так:
    проверку произвожу в событии Report.OnRunDialogs:
    procedure frxReportOnRunDialogs(var Result: Boolean);
    begin
      TfrxADOQuery(Query1).Open;
      if [Query1."ItemID"]=0 then
        Result:=false
      else
        Result:=true;
    end;
    

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

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