Проблемы при печати нескольких отчетов

отредактировано 10:54 Раздел: FastReport 2.xx VCL
Здравствуйте.

Проект - MDI-приложение.

Есть MDI-Child форма - диспетчер отчетов, в котором ввиде дерева выводятся доступные в данном разделе программы. Соотв., на этой форме есть frReport - чтобы прочитать название отчета и другие его характеристики.

Есть так же отдельная форма (не MDI), на которой лежат компоненты frDesigner, frReport и прочие, которые и отвечают за построение и просмотр отчетов.

Отчеты - счет-фактура, накладная, накладная торг 12...

Все DataSet'ы создаютсмя внутри отчетов на специально созданной под них диалоговой форме.

Ошибка происходит при использовании одного из таких DataSet'ов - данные о получателе по накладной.

Текст sql-запроса DialogForm.Recipient переопределяется и открывается при активации диалоговой формы. Корректность текста запроса проверялась.

Проблема в то, что данные DialogForm.Recipient возвращает чужие.

Такое впечатление, что на самом деле используется другой датасет.

Кроме того, в списке доступных датасетов и полей светяться странные записи:
DialogForm.
DialogForm.
DialogForm.
DialogForm.Sender
DialogForm.Recipient
DialogForm.Material

причем число пустых равно числу нормальных.

На форуме упоминалось вскользь о том, что в случае с mdi DialogForm одна для всех активных отчетов. Может быть беда в этом - но что значит - активный отчет и как этого избежать?

С уважением,
Леонид Эмке, ООО "Фирма Софт-М"

Комментарии

  • отредактировано 10:54
    Диалоговая форма действительно одна на всех. Поэтому нельзя, например, одновременно держать два отчета, которые используют диалоговые формы и компоненты доступа к данным - будет конфликт имен компонентов.
  • отредактировано 10:54
    Поясните тогда пожалуйста - что значит держать два отчета.
    У меня они не работают одновременно - только последовательно.
    Причем для формирования отчета используется отдельный frReport, который специально для этого создается и разрушается после этого.

    Вообще, что в такой ситуации можно сделать?
    Может быть можно принудительно разрушить DialogForm?
    Или еще что-нибудь... ;)

    Леонид.

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

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