Отчеты как MDI
Подскажите как поступить, а ситуация такая:
в приложении должна быть возможность запуска нескольких MDI окон с отчетами (на окнах расположены компоненты TfrxReport, TfrxPreview и TfrxDBDataSet - укладываются на окно в дизайнтайме). Отчеты по своей структуре одинаковые (загружаются из одного файла). Для каждого MDI окна есть свой DataModule из которого и распечатываются данные в отчете.
Проблема в том, что первое окно с отчетом открывается нормально, а во все последующие окна попадают данные из первого окна. Модули данных у каждого из окон свои, выборки (DataSet в модуле данных) для каждого окна открываются нормально и содержат те данные, что нужно, но (повторюсь) в отчетах данные того окна, которое было открыто первым.
Как сделать так, чтобы в разных окнах отчеты содержали свои данные?
в приложении должна быть возможность запуска нескольких MDI окон с отчетами (на окнах расположены компоненты TfrxReport, TfrxPreview и TfrxDBDataSet - укладываются на окно в дизайнтайме). Отчеты по своей структуре одинаковые (загружаются из одного файла). Для каждого MDI окна есть свой DataModule из которого и распечатываются данные в отчете.
Проблема в том, что первое окно с отчетом открывается нормально, а во все последующие окна попадают данные из первого окна. Модули данных у каждого из окон свои, выборки (DataSet в модуле данных) для каждого окна открываются нормально и содержат те данные, что нужно, но (повторюсь) в отчетах данные того окна, которое было открыто первым.
Как сделать так, чтобы в разных окнах отчеты содержали свои данные?
Комментарии
Все решилось следующим образом:
в методе инициализации каждой формы дописал следующие строки
frxDBDataSet.DataSet = NULL;
frxDBDataSet.DataSet = <необходимый TDataSet>;
видимо, это для всех очевидно, но я с такой ситуацией столкнулся впервые, да и знания FastReport поверхностные
:-)