Проблемы с текстовым экспортом

отредактировано October 2005 Раздел: FastReport 3.0
BCB6, FR 3.19
На форме есть frxReport1, frxPreview1, frxTXTExport1 и frxDBDataset1.

Для отображения отчета в превьюхе делаю так:
frxReport1->PrepareReport();
frxReport1->ShowPreparedReport();

Для печати:
frxPreview1->Print();
В случае использования frxReport1->Print() окно превьюхи очищается, отчет пропадает. Первый вариант работает правильно.

Для экспорта в текстовый файл:
frxReport1->Export(frxTXTExport1);
А вот здесь опять отчет пропадает из превью.
Лечится только повторной генерацией отчета:
frxReport1->PrepareReport();
frxReport1->ShowPreparedReport();
Я думаю, что это не выход.
Почему он вообще пропадает?

Комментарии

  • dron-sdron-s Россия
    отредактировано 10:48
    написал:
    Для отображения отчета в превьюхе делаю так:
    frxReport1->PrepareReport();
    frxReport1->ShowPreparedReport();

    можно сделать так
    frxReport1.ShowReport();
    
    результат одинаковый...
    написал:
    Для экспорта в текстовый файл:
    frxReport1->Export(frxTXTExport1);
    А вот здесь опять отчет пропадает из превью.
    Лечится только повторной генерацией отчета:
    frxReport1->PrepareReport();
    frxReport1->ShowPreparedReport();
    Я думаю, что это не выход.
    Почему он вообще пропадает?

    получается ты сначала пытаешься экспортировать данные, а потом гененрируешь отчёт... Выполняй всё по порядку...
    frxReport1->PrepareReport();
    frxReport1->Export(frxTXTExport1);
    
    всё нормально...
  • отредактировано 10:48
    dron-s, я делаю все последовательно.
    Открываю форму и делаю
    frxReport1->PrepareReport();
    frxReport1->ShowPreparedReport();
    Можно и
    frxReport1->ShowReport();

    На форме есть кнопка экспорта в текст.
    При нажатии делаю
    frxReport1->Export(frxTXTExport1);
    То есть отчет уже сгенерирован и отображается в превью.
    После выполнения экспорта превьюха очищается.
    Именно это мне не нравится.
    Приходится еще раз генерировать отчет.

    Вопрос в том, почему експорт приводит к порче превьюхи отчета?
  • отредактировано 10:48
    C такой проблемой сталкивался. Решение:
    frxPreview1->Export(frxTXTExport1)
  • dron-sdron-s Россия
    отредактировано October 2005
    SterhBy
    делаю так:
    бросаю на форму два батона, frxReport & frxSimpleTextExport1.
    Пишу такое
    //экспорт
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    frxReport1.Export(frxSimpleTextExport1);
    end;
    //просмотр после экспорта
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    frxReport1.ShowReport();
    end;
    //генерация отчёта
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    frxReport1.PrepareReport();
    end;
    
    запускаю проект, нажимаю первый батон, экспортирую данные, затем нажимаю второй батон, показывается просмотр отчёта... всё тоже что и было...
    Работает нормально...

    Какую версию фаста используешь?
  • отредактировано 10:48
    Noskov, спасибо.
    Блин, можно ж было и догадаться, что если Print() надо делать методом первьюхи, то и экспорт делатся тоже его методом а не методом самого репорта.
    Чесно говоря, странно все это.

    dron-s, у меня последовательность действий другая.

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

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