Отчёт открывается в фоновом окне

отредактировано 06:53 Раздел: FastReport 4.0
Здравствуйте. Столкнулся с проблемой отображения PreviewForm при вызове отчёта, который расположен в контейнере DataModule.
При вызове из другой формы метода
frxReport1.ShowReport;
отчёт появляется в фоновом (свёрнутом) окне.
И отобразить его получается только мышкой.
Подскажите, как заставить отчёт "Выпрыгнуть" на передний план? Пока не переместил в DataModule всё было отлично.
Пробовал:
1) frxReport1.PreviewForm.BringToFront (и после ShowReport, и в событиях onPreview и onShow)
2) ShowWindow(Handle, SW_SHOWNORMAL)

Работает только установка свойства frxReport1.PreviewForm.FormStyle := fsStayOnTop, однако его использовать нельзя, т.к. в случае возникновения ошибок визуально программа зависнет - ведь окно отчёта развёрнуто в полноэкранный размер.
Также форма не получает фокуса. Активной остаётся форма, вызвавшая отчёт. Здесь не помогает даже PreviewForm.SetFocus.
Помогите, пожалуйста, выйти из этой ситуации.

Комментарии

  • отредактировано 06:53
    Причину я нашёл.
    Отчёт вызывается из Form2:
    procedure TFrom2.Button1Click(Sender:TObject);
    begin
      DataModule1.frxReport1.ShowReport;
      //затем Form2 закрывается
      Close;
    end;
    
    и вот при этом действии отчёт (PreviewForm) уходит на задний план, а активной становится Form1.
    Если Close закомментировать, то отчёт вызовется как обычно.
    Есть ли какой-то способ опять вернуть отчёт на передний план после закрытия Form2 ?

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

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