Ошибка воспроизводится на Lazarus 2.0.8 и 2.2.6
В оконном приложении Отчет отрисовывается и сохраняется в PDF корректно. Все поля на всех бендах прорисовываются.
В консольном приложении
1. Если не указано frReport_work.Options:=[]; то лист сохраняется пустым, а в режиме отладки выскакивает ошибка
2. Если frReport_work.Options:=[roIgnoreSymbolNotFound]; то ошибки нет, файл сохраняется но на бендах ReportTitle и MasterHeader значения полей пусто
т.е. в Memo такой текст - email:[SQLQuery_work2pdf."E_MAIL"], site:[SQLQuery_work2pdf."Internet"] в итоговом файле отображается - email:, site:
На остальных бендах (MasteData) эти же поля отображаются номально.
P.S. на скриншоте поле SQLQuery_work2pdf."LABEL" у него такое же поведение. Просто оно стоит первым на бенде MasterHeader поэтому на него и ругается.
LazReport ошибка Undefined symbol
Модератор: Модераторы
LazReport ошибка Undefined symbol
У вас нет необходимых прав для просмотра вложений в этом сообщении.
а вы сами в кавычках написали "LABEL" или так работало?
судя по исходникам она возникает когда поле не найдено в датасете (SQLQuery_work2pdf)
Добавлено спустя 14 минут 34 секунды:
судя по исходникам она возникает когда поле не найдено в датасете (SQLQuery_work2pdf)
Добавлено спустя 14 минут 34 секунды:
вопрос снимаетсяsts писал(а):а вы сами в кавычках написали "LABEL" или так работало?
Да, на всем отчете поля в кавычках.так работало...вопрос снимается
Ставил эти же поля на другие бенды, их видно (при включенном [roIgnoreSymbolNotFound], чтобы ответ вообще сформировался )судя по исходникам она возникает когда поле не найдено в датасете (SQLQuery_work2pdf)
Так если у оконного и консольного приложений такое разное поведение, так может использовать только оконное, но приделать ему режим с формой со свойством hide?
Не годится. Цель вообще формировать PDF-ки по выборке данных из базы, в службе windows.Так если у оконного и консольного приложений такое разное поведение, так может использовать только оконное, но приделать ему режим с формой со свойством hide?
Оконное приложение не устраивает, т.к. оно в сессии пользователя запускается. Нужна служба.
В службе тоже проблемы. Там выскакивает сообщение об ошибке c потоком.
Пришлось делать костыли, из службы запускать консольную утилитку с параметром ID записи в базе. Она делает 1 PDF и закрывается.
Добавлено спустя 3 минуты 59 секунд:
Пока пошел лобовым путем.
Придется конечно все макеты перетрясти, добавить дополнительные бенды MasterData , и перенести всё с заголовочных бендов.
Один сделал (то еще удовольствие в дизайнере лазрепорта мучиться, я так и не уловил как прикрепляются MEMO и Pictures объекты к бендам. то крепятся то исчезает прикрепление)
Нормально теперь отображается.
Но хотелось бы понять конечно в чем тут проблема.
сходу воспроизвести ошибку не удалось, моя версия датасет SQLQuery_work2pdf просто не открыт (SQLQuery_work2pdf.active == false), возможно там в консольном режиме какоето событие не приходит, а при обработке MasterData открывается, хотя по исходникам должно работать
Сотня компиляций с разными зависимостями и узнаешьjsa писал(а):Но хотелось бы понять конечно в чем тут проблема.
