Определяет дескриптор приложения Visual FoxPro, обеспечивающего производные классы ReportListener, которые используются с командой REPORT FORM , поддерживая реестр производных классов ReportListener для различных результатов вывода.

_REPORTOUTPUT = cProgramName

Параметры

cProgramName

Определяет имя приложения или программы, которую система отчетов Visual FoxPro вызывает в случае соответствующего применения команды REPORT FORM .

Замечания

Система Отчетов Visual FoxPro вызывает приложение, указанное этим значением, когда возникает одно из следующих условий:

  • Вы вызываете команды REPORT FORM или LABEL с явным указанием предложения OBJECT TYPE lt;Ngt; . Механизм Отчета передает числовое значение, которое Вы используете, в приложение, имя которого хранится в _REPORTOUTPUT .

  • Вы вызываете команду REPORT FORM после использования SET REPORTBEHAVIOR 90 . Эта установка указывает, что Вы хотите использовать объектно-ассистированный режим для всех команд REPORT FORM или LABEL . Механизм Отчета использует другие ключевые слова для команд вывода (типа TO PRINT или PREVIEW ) для устанавленияь соответствующего числового значение эквиваленту предложения OBJECT TYPE lt;Ngt; .

В обоих сценариях, Механизм Отчета также передает переменную в приложение, указанное переменной в _REPORTOUTPUT . Приложение хранит ссылку на соответствующий объект ReportListener в этой переменной. При последующих обработках отчетов или этикеток, Механизма Отчета разделяет с этим объектом управление выводом.

По умолчанию, _REPORTOUTPUT определяет путь и имя файла для ReportOutput.app, расположенный в главном каталоге Visual FoxPro, как обозначено функцией HOME() .

Вы можете также определить приложение вывода отчета через использование вкладки File Locations в диалоговом окне Options. Для подробной информации, см. Вкладка File Locations, Диалоговое окно Options .

При распространении приложений, Вы можете найти удобным явно установить _REPORTOUTPUT в файл конфигурации Visual FoxPro, Config.fpw. Вы можете также привоить значение _REPORTOUTPUT имени программы, встроенной в ваше приложение. Для подробной информации, см. Включение Файлов Отчета для Распространения и Установка Вариантов Конфигурации при Запуске .

Обратите внимание:
Если Вы используете команды REPORT FORM или LABEL и включаете предложение OBJECT TYPE lt;Ngt; , или предварительно использовали команду SET REPORTBEHAVIOR 90 , без допустимого значения _REPORTOUTPUT , Visual FoxPro генерирует ошибку.

Требования

Приложение, которое Вы определяете через _REPORTOUTPUT, должно выполнять следующие условия:

  1. Оно должно получать не менее двух параметров. Механизм Отчета передает числовое значение, указывая тип требуемого вывода, как первый параметр. Механизм Отчета передает переменную, сохранять ссылку на соответствующий ReportListener, как второй параметр.

  2. Оно должно привоить второму параметру NULL ( .NULL. ), если значение первого параметре не может быть распознано, или оно не может поддерживать ссылку на производный объект ReportListener, учитывая требования первого параметра.

  3. Оно должно быть способно обеспечить ссылки производного объекта ReportListener для (как минимум) числовых типов, соответствующих присущим значениям ListenerType, которые поддерживаются Visual FoxPro. Для подробной информации, см. ListenerType Свойство .

  4. При успешном получении ссылки объекта ReportListener согласно числовому типу, который требуют ReportListener, оно должно сохранить эту ссылку во втором параметре. Оно должно также хранить числовой тип, обеспеченный Механизмом Отчета или запрашивающим приложения к свойству этого объекта OutputType. Для подробной информации, см. Свойство OutputType (Visual FoxPro) .

  5. Оно должно быть модальным, потому что это должно обеспечить соответствующую обратную ссылку на Механизм Отчета. Если оно обеспечивает какие-то элементы интерфейса пользователя, например разрешая пользователю выбрать соответствующий ReportListener из списка, то этот интерфейс должен быть также модальным.

Рекомендации

Следующие дополнительные условия не требуются для приложения для функционирования как _REPORTOUTPUT . Однако, выполнение этих условий строго рекомендуется для любого приложения с такой возможностью:

  1. Приложение должно поддерживать некоторый тип реестра ReportListener , для того чтобы позволять пользователям определять классы, которые они предпочитают использовать для различных типов вывода.

  2. Приложение должно возвращать ошибки к приложению запроса способом, который разрешает вызывающей программе определять, какое действие предпринять, когда Приложение Вывода Отчета не может выполнить своё назначение.

Пример

Следующий пример устанавливает значение системной переменной _REPORTOUTPUT в заданное по умолчанию приложение Report Output.

Скопировать код
_REPORTOUTPUT = HOME() + "ReportOutput.app"

См. Также