Как правильно делать отчет в отдельн (своей) форме

отредактировано 12:51 Раздел: FastReport 3.0
Пытаюсь создать отчет в своей форме с кнопками.
Делаю так:

procedure TfmMain.btnPrintRazreshenieClick(Sender: TObject);
begin
  DM.RepDataset.DataSet := DM.DataSet1;

  with DM.DataSet1 do
  begin
    Close;
    CommandText := 'SELECT ...... т.д.';
  end;
  try
    DM.DataSet1.Open;
  except
    ShowMsg('Ошибка ');
    exit;
  end;

  with DM.Rep do
  begin
    DataSets.Add(DM.RepDataset);
    if FileExists(ExtractFilePath(Application.ExeName) +
      'Report\Raz.fr3') then
      LoadFromFile(ExtractFilePath(Application.ExeName) +
        'Report\Raz.fr3')
    else
    begin
      ShowMsg('Внимание...', ' Ошибка ', 2, 'Файл не найден!', 0, 0);
      exit;
    end;
    if PrepareReport then
        //DM.Rep.ShowReport(True)
      ShowPrint('Печать...')
    else
      ShowMsg('Внимание...', ' Ошибка ', 2, 'Отчёт не построен!', 0, 0);
  end;
end;
-----------
procedure ShowPrint(fmCaption: string);
var
  Frm: TfmPrint;
begin
  Frm := TfmPrint.Create(Application);
  try
    with Frm do
    begin
      Caption := fmCaption;
      DM.Rep.Preview := fmPrint.Preview1;
      ShowModal;
    end;
  finally
    Frm.Free;
  end;
end;
----------
Не работает, ошибок не выдает - просто ничего НЕТ (Gray фон).
Раннее такой код работал.
Помогите как правильно делать!? Спасибо!

Комментарии

  • gpigpi
    отредактировано 12:51
    procedure ShowPrint(fmCaption: string);
    var
     Frm: TfmPrint;
    begin
     Frm := TfmPrint.Create(Application);
     try
       with Frm do
       begin
         Caption := fmCaption;
         DM.Rep.Preview := fmPrint.Preview1;
         DM.Rep.ShowPreparedReport; //попробуйте добавить
         ShowModal;
       end;
     finally
       Frm.Free;
     end;
    end;
    
  • отредактировано April 2006
    Не помогло.
    Обычный отчет работает без проблем (закоментированная строка в коде), но надо отдельную форму.
  • gpigpi
    отредактировано 12:51
    А так?
    DM.Rep.Preview := Frm.Preview1;
    или
    DM.Rep.Preview := Preview1;

  • отредактировано 12:51
    Спасибо, друг!!!

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

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