Когда вы Создаете и готовите Распространение вашего Приложения типа Visual FoxPro, вы можете спланировать функциональную возможность данного Приложения по настройке или изменению разнообразных параметров ваших Отчетов. Технические возможности Построителя Отчетов системы Visual FoxPro 9.0 позволяют вам обеспечить более надежный и безопасный способ частичной Корректировки некоторых Параметров разработанных Отчетов.

В данном Параграфе вы найдете Ответы на возможные вопросы по использованию и распространению Построителя Отчетов вместе с вашим Приложением. Существует два варианта:

Распространение Компоненты ReportBuilder.App вместе с вашим Приложением.

По-умолчанию, если компонента ReportBuilder.App размещена в одной папке с библиотеками Run-Time Visual FoxPro, тогда системная переменная _REPORTBUILDER должна содержать полную ссылку на имя файла рассматриваемой Компоненты. Первым решением является размещение файла ReportBuilder.App в одном подкаталоге с файлами библиотек Run-Time вашего Приложения. Другим вариантом  является размещение Компоненты ReportBuilder.App в одном подкаталоге с вашим Приложением, тогда достаточно обеспечить определение ссылки  на указанную компоненту в системной переменной  _REPORTBUILDER.

Для гарантированного определения системой Visual FoxPro внешней компоненты ReportBuilder.App:

  • В стартовом модуле вашего Приложения определите следующий Фрагмент программного Кода:

      CopyCode imageКопировать Код
    * прочитать текущий подкаталог вашего Приложения
    cHomeDir = CURDIR() && можете использовать любой метод определения подкаталога
    * Установите значение системной переменной, как полную ссылку на Компоненту:
    _REPORTBUILDER = m.cHomeDir+"ReportBuilder.App"
    :

Вы можете использовать и простую настройку файла Конфигурации CONFIG.FPW:

_REPORTBUILDER=<path>\ReportBuilder.App

Анализ Описанного Способа.

Если вы используете указанный вариант дистрибуции компоненты ReportBuilder.App, то вы теряете возможность указания Альтернативной таблицы Регистрации Контроллера Событий Отчета (Alternative Report Event Handler Registry Table), которая компануется внутри соответствующего файла приложения .APP. Это объясняется тем, что компонента ReportBuilder.App не может использовать файлы, которые скомпанованы в других внешних Приложениях (.app / .exe ).

Интегрирование Исходного программного Кода Построителя Отчета в Проект вашего Приложения.

Вместо описанного выше варианта распространения Компоненты, вы можете подсоединить исходный программный Код Построителя Отчетов как составную часть Проекта вашего Приложения.

Для интегрирования Кода "Report Builder" в ваше Приложение:

  1. Распакуйте программный код из Архива Xsource.Zip, размещенного в подкаталоге Tools\xsource\  домашней папки Visual FoxPro.

  2. В стартовой программе вашего Приложения введите следующий фрагмент программного Кода:

      CopyCode imageКопировать Код
    * Для определения внешней ссылки на главную процедуру:
    EXTERNAL PROCEDURE frxbuilder.prg
    * Уточнение значения системной Переменной (ссылка на внутреннюю процедуру):
    _REPORTBUILDER = "frxbuilder.prg"
  3. Выполните новую компановку вашего Проекта.

    Программный Код Построителя Отчетов  вместе с Таблицей Контроллера Событий Отчета  будут добавлены в ваш Проект, интегрированы с ним.

Вместо того, чтобы использовать Стандартную, оригинальную копию Таблицы Контроллера (FrxBuilder.Dbf), вы можете изменить требуемые вам параметры данной Таблицы. Обратите Внимание: ваш проект имеет прямую ссылку на Главную Копию рассматриваемой Таблицы. Вы можете исключить данную ссылку из Проекта и заменить ее на локальную, пользовательскую Копию рассматриваемой Таблицы.

Вам не обязательно использовать для альтернативной Таблицы Стандартное Имя, вы можете создать Таблицу Контроллера Событий Отчета с произвольным Именем и прикрепить ее к Проекту:

Для определения Альтернативной Таблицы Контроллера Событий Отчета: 

  • В стартовом Модуле вашего Приложения достаточно ввести следующий фрагмент программного Кода:

    do frxBuilder with 3, "mylookup.dbf"

Общедоступные Исходные файлы.

Компоненты: ReportBuilder.App и ReportPreview.App используют следующие общие файлы:

  • frxControls.vcx         - библиотека

  • frxCommon.prg        -  программный модуль

  • grabber.gif

  • wwrite.ico

  • foxpro_reporting.h   - файл-заголовок

Диспетчер Проектов (Project Manager) создает только одну ссылку на каждый из перечисленных файлов, что зависит от порядка размещения стандартных команд типа  EXTERNAL в вашей стартовой Программе.

Анализ использования подсистемы Помощи в Построителе Отчетов.

Диалоговые Боксы Построителя Отчетов (Report Builder Application) могут содержать ссылки на стандартную подсистему Помощи (Справки) Visual FoxPro (или на отдельные ее разделы), которые ассоциированы со значениями Свойств HelpContextID (Visual FoxPro) , которые представляют собой элементы стандартного Интерфейса. Но подсистема Помощи Visual FoxPro не может распространяться с вашим Приложением. Смотрите дополнительно раздел: Распространяемые и запрещенные к Распространению файлы Visual FoxPro.

Если вы используете компоненту "Report Builder" или другие Модули, и создаете подсистему Помощи для вашего Приложения, то вы можете придерживаться одной из следующих Стратегий:

  • Создайте соответствующие Разделы Справки, которые согласовываются с идентификаторами ID указанных Диалоговых боксов Построителя Отчетов. Проверить значения указанных Идентификаторов можно в заголовочном файле FRXBUILDER.H.

  • Для описанных выше идентификаторов ID не создаются Разделы Помощи. Если Пользователь нажимает клавишу F1 или использует специальную кнопку Help, вы обеспечиваете отображение Специального Раздела Помощи, уровнем выше.

  • Измените значения соответствующих Констант, заданных в заголовочном файле FRXBUILDER.H, которые будут ссылаться на специальные разделы вашего файла Справки, или создайте дополнительные разделы Справки, в которых размещается необходимая конечному пользователю Справочная Информация. Далее, вам необходимо выполнить новую Сборку вашего Приложения или Сборку внешней Компоненты, чтобы актуализировать выполненные вами Изменения и настройки для ReportBuilder.App.

Для определения специфических идентификаторов ID разделов Помощи для Компонент Построителя Отчетов:

  1. Измените контекстные Идентификаторы, заданные в виде констант в заголовочном файле FRXBUILDER.H, сохраните выполненные Изменения.

  2. Выполните новую Компиляцию-Сборку Построителя Отчетов (Report Builder Application), или перекомпилируйте ваше Приложение, которое содержит в своем составе рассматриваемый Построитель.

Если вы готовите Дистрибутивный пакет Приложения и/или его Компонент (Report Builder), а также не планируете создавать подсистему Помощи для Приложения, то вам достаточно обеспечить установку следующих Опций-Параметров:

  • Включите приложение ReportBuilder.app и/или его Компоненты в Дистрибутивный пакет: - "как есть". Если выполняются системные установки , типа: SET("HELP") = "OFF",  то в Построителе Отчетов командная кнопка Help - является Отключенной.

  • Измените значение соответствующей переменной в заголовочном файле frxbuilder.h, которая контролирует размещение кнопки  Help.

Для исключения кнопки "Help", как элемента Интерфейса из Компоненты  Report Builder:

  1. Найдите в Папке исходного программного Кода Построителя Отчетов заголовочный файл: frxbuilder.h.

  2. Измените значение Константы SHOW_HELP_BUTTON_ON_HANDLER_FORMS, на величину, = False (.F.).

  3. Выполните Компиляцию-Сборку новой версии Построителя Отчетов (Report Builder), или перекомпилируйте ваше основное Приложение, если в нем выполняется динамическая компиляция Report Builder.

Дополнительную информацию по использованию подсистем Справки типа Visual FoxProв в ваших Приложениях смотрите разделы: SET TOPIC ID, команда и SET HELP, команда.

См. также