Наследование. Проблемы с БД
Есть базовый отчет ReportGen (содержит Логотип и название)
От него наследуется ReportChild (подключение к БД IBXDatabase & IBXQuery)
И наследуемый от ReportChild => ReportChild_Ch (Содержит данные из БД)
Все это находится на одной форме (3 компонента frxReport)
В Design-time Delphi Работает более-менее
Но когда запускаю отчет ReportChild пишет--IBXQuery1 does not exist
Если вызываю DesignReport -- исчезает закладка Page1, а закладка Data становится пустой (а до этого содержала IBXDatabase & IBXQuery)
Че за лажа?*
От него наследуется ReportChild (подключение к БД IBXDatabase & IBXQuery)
И наследуемый от ReportChild => ReportChild_Ch (Содержит данные из БД)
Все это находится на одной форме (3 компонента frxReport)
В Design-time Delphi Работает более-менее
Но когда запускаю отчет ReportChild пишет--IBXQuery1 does not exist
Если вызываю DesignReport -- исчезает закладка Page1, а закладка Data становится пустой (а до этого содержала IBXDatabase & IBXQuery)
Че за лажа?*
Комментарии
При загрузке шаблона FR не может найти отчет -предок по указанному пути(путь записывается в fr3, относительно пути в TfrxDesigner.TemplateDir).
При запуске приложения я явно указывал путь к отчетам:
ReportGen.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Report\ReportGen.fr3');
ReportChild.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Report\ReportChild.fr3');
ReportChild_Ch.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Report\ReportChild_Ch.fr3');
При этом вылезало сообщение о несуществующем Query
********
Убрал эти присвоения-отчеты показываются нормально НО
В названии отчета Untitled.fr3
Соответственно никакого наследования не происходит, а показываются те отчеты которые были получены в дизайн-тайм
+При вызове Report_Child.DesignReport вылезает сообщение 'Empty SQL Statement'
хм...
Если dfm, то отчеты должны хранится в dfm.
В документации описан способ через файлы fr3
т.е. я создаю на диске отчет-родителя и из него формирую дочерний
У меня отчет ReportChild является одновременно и дочерним (для ReportGen) и родительским (для ReportChild_Ch)
Было бы интересно узнать, Как использовать наследоование через dfm?
Под путями, я подразумевал не пути загрузки шаблона.
Обратите внимание на путь у св-ва ParentReport, оно обычно записывается с относительным путем, т.е. в design-time curDir был один, а во время исполнения изменился, и шаблон-предок просто не найден.
Так же как наследуются формы в делфи, только на форме компонент TfrxReport с отчетом в dfm.
Отчет №1 - РОДИТЕЛЬ
Отчет №2 - НАСЛЕДОВАН от №1
Отчет №3 - НАСЛЕДОВАН от №2
Отчет №4 - НАСЛЕДОВАН от №2
№1 и №2 нужно по любому хранить на диске?* Я же не могу наследовать отчет из dfm?
а №3 и №4 уже можно хранить в dfm?
А если стоит задача хранить ВСЕ отчеты в БД? Тогда как производить наследование?*
Подскажите, пожалуйста.