frPrintGrid & MDI

отредактировано 23:42 Раздел: FastReport 2.xx VCL
Уважаемые, All.
Подскажите, пожалуйста, как можно заставить компонент frPrintGrid покзавывать отчет в MDI Child окне. Все отчеты в проекте MDI и не хотелось бы модально показывать отчет печати DBGrid.

Комментарии

  • отредактировано 23:42
    Возможно нужно подправить исходники:
    в модуле FR_PTabl:

    стр 890:
    ...
    procedure TfrCustomPrintDataSet.ShowReport;
    var
    r: TfrCompositeReport;
    begin
    r:=TfrCompositeReport.Create(nil);
    r.PreviewButtons := FPreviewButtons;
    r.DoublePass := FDoublePass;
    r.MDIPreview := true;
    ...
  • отредактировано 23:42
    Сделал так...

    procedure TfrCustomPrintDataSet.ShowReport(MDIWin:Boolean);
    var
    r: TfrCompositeReport;
    begin
    r:=TfrCompositeReport.Create(nil);
    r.PreviewButtons := FPreviewButtons;
    r.DoublePass := FDoublePass;
    r.MDIPreview := MDIWin;
    r.ModalPreview := not MDIWin;
    ...
    Пакет перекомпилировался без проблем, но окно отчета моргает как MDIChild все вроде хорошо и тут же исчезает, даже буквы толком заметить невозможно ;)
    В чем может быть проблема не пойму...
  • отредактировано 23:42
    Исчезает из-за r.Free; (в той же процедуре ниже)
  • отредактировано 23:42
    -=Serg=- Огромное спасибо за подсказку, все получилось ;)
  • отредактировано 23:42
    Вот только если ты закоментируешь r.Free, как бы не получилась утечка памяти.... ;)
  • отредактировано 23:42
    Не получится я ее не закоментировал, а поправил на такой код
    if not MDIWin then r.Free;
    Это в случае, если показывать отчет модально. А при формировании MDI Child окна, чтобы оно спряталось, а не свернулось его нужно разрушить Action:=caFree.
    Соответственно, если окно просмотра отчета при нажатии на кнопку закрыть не сворачивается, значит разрушается, вот в принципе и все.
    Если я в чем-то ошибаюсь буду очень признателен за поправку.

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

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