Класс UtilityReportListener добавляет во время выполнения конфигурационные опции и управление файлами (сравнение имен файлов, запись файлов) к основным сервисам, предусмотренным родительским классом, _ReportListener. Этот класс также предоставляет доступ к экземпляру класса FrxCursor, класс используется в качестве вспомогательного средства к Report Builder Application, с обработкой ошибки, если он не может быть найден.

Замечание:
UtilityReportListener не требует FrxCursor для функционирования; он просто обеспечивает прозрачное управление экземпляром этого класса как подклассом. Это применяется вплоть до подклассов, когда и если необходим этот экземпляр, он может продолжить свое существование, если он недоступен в run-time.

Категория Reporting

Каталог по умолчанию

Visual FoxPro Catalog\Foundation Classes\Output\Report Listeners

Класс

UtilityReportListener

Базовый класс

ReportListener

Библиотека класса

_REPORTLISTENER.vcx

Родительский класс

_ReportListener (ReportListener Base Foundation Class)

UtilityReportListener и его таблица конфигурации

UtilityReportListener читает записи из конфигурационной таблицы, чтобы инициализировать различные значения и характеристики ReportListener. Вы можете выбирать при использовании UtilityReportListener, выполнять ли эти задачи при инициализации класса, при старте каждого выполнения отчета, или вместе. Вы можете также вызвать метод setConfiguration в другое время.

Функции конфигурирования UtilityReportListener's в режиме run-time используют тот же формат таблицы конфигурирования Report Output Application, что и для регистрации ReportListeners для других значений ListenerType. Для информации о том, как Report Output Application использует эту таблицу, смотрите Report Output Application.

Замечание:
Классы используют тот же формат таблицы конфигурации, что и Report Output Application, но это не обязательно одна и та же таблица. Чтобы определить режим, который вы хотите установить для экземпляра класса UtilityReportListener, используйте свойства и методы класса, чтобы определить, какой режим в таблице использует объект, не используя таблицу Report Output Application.

Если вы приписываете значение данного класа вне Report Output Application, и если конфигурационная таблица не стала доступной, создается подходящая табличная структура. Если классы созданы в модуле (APP, DLL, EXE), таблица создается в директории модуля; в противном случае, таблица создается в директории библиотеки классов (VCX).

UtilityReportListener и его подклассы используют конфигурационную таблицу, чтобы определить какие записи принадлежат им и куда записи поместить. Эти классы резервируют дипазон значений поля OBJTYPE от 1000 до 1999.

Каждый подкласс использует единственную величину в этм дапазоне,определенную свойством поля ObjType в UtilityReportListener, чтобы определять записи в таблице, который он хочет использоваться для целей конфигурации. UtilityReportListener использует постоянную величину в REPORTLISTENER.H , чтобы устанавливать свою собственную величину.

Задачи конфигурации могут устанавливать любое свойство или вводить любой метод в подкласс UtilityReportListener. Записи в таблице конфигурации с правильным значением ObjTypeзадают свойство класса или вводятся классовым методом кода согласно конфигурации используемой таблицы.

Поле Использование Замечание

OBJTYPE

THIS.ConfigurationObjType

Определяет какие записи в таблице UtilityReportListener читает, чтобы устанавливать значения конфигурации или инициировать код метода конфигурации.

OBJCODE

Precedence

Определяет порядок в котором UtilityReportListener выполняет записи конфигурации' инструкции.

OBJNAME

Property or Method

UtilityReportListener проверяет OBJNAME на PEMSTATUS (существование и тип).

OBJVALUE

Value or Arguments

Если значение OBJNAME является правильным именем свойства, UtilityReportListener использует этот код, чтобы установить значение свойства, используя OBJVALUE:

STORE EVAL(ObjValue) TO (“THIS.”+ObjName)

Если значение OBJNAME является правильным классовым методом, UtilityReportListener выполняет следующий код:

EVAL(“THIS.”+ObjName+”(“+ObjValue+”)”

OBJINFO

Не используется

Зарезервировано для документов, комментариев. Смотрите примеры в заметках .

UtilityReportlistener игнорирует записи с пустыми полями OBJNAME или OBJVALUE, и записывает DELETED(), в любом случае имеют они правильное значение OBJTYPE или нет.

Замечание:
Когда UtilityReportListener генерирует регистрационную таблицу обеспечиваются две удаленные записи, показывая соответсвующий синтаксис для регистрационных записей, используется следующий код:

 Copy Code
INSERT INTO (ALIAS()) VALUES ;
  (OUTPUTCLASS_OBJTYPE_CONFIG,0,
   'DoMessage','"Welcome to the demo run!",64',
   'Sample initialization/config method call')
DELETE NEXT 1
INSERT INTO (ALIAS()) VALUES ;
  (OUTPUTCLASS_OBJTYPE_CONFIG,0,
   'TargetFileName','"xxx"',
   'Sample initialization/config property')
DELETE NEXT 1

Заметки

You will probably not instantiate this class directly; you will instantiate one of the classes that derive from it, such as HtmlListener. These derived classes take advantage of UtilityReportListener's base features, which are file-handling and access to an FrxCursor object instance. They also expose UtilityReportListener's configuration table feature so you can customize their behavior at run time, in many cases, without needing to specify these changes in your code or deriving subclasses from them.

Следующая таблица показывает свойства и методы, добавленные к своему родительскому классу _ReportListener.

Свойства и методы Описание

configurationObjtype Property

Хранит резервную величину использованную, чтобы указывать, что табличная колонка конфигурации обеспечивает динамическую информацию конфигурации во времени выполнения.

По умолчанию 1000

createConfigTable Method

Создает регистрационную таблицу по требованию.

Синтаксис: createConfigTable(cDBF [, lOverWrite] )

Возвращаемое значение: cDBF

Параметры:

cDBF полностью пригодное имя файла регистрационной таблицы.

lOverWrite указывает хотите ли вы перезаписать регистрационную таблицу, или это уже сделано.

frxCursor Property

Содержится ссылка на объект помощи FRXCursor помогая во время прогона связывать метаданные FRX и структуру.

По умолчанию .NULL.

getConfigTable Method

Оценивает и обеспечивает имя текущей конфигурационной таблицы, дополнительно создавая её на диске, если она не доступна.

Синтаксис: getConfigTable(lForceExternal)

Возвращаемое значение: cDBF

Параметры:

Если Вы установили бы lForceExternal на .T., это указывает, что Вы хотите записать внешнюю таблицу на диск, даже если бы класс может найти встроенную версию таблицы в своем кодовом модуле (APP, EXE, or DLL).

getPathForExternals Method

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

Синтаксис: getPathForExternals()

Возвращаемое значение: cPath

Параметры: Нет

loadFrxCursor Property

Определяет, что независимо класс должен динамически загружать пример класса помощника.

По умолчанию .F.

readConfiguration Property

Указывает условия под которыми код SetConfiguration будет работать.

0=никогда

1 = когда пример класса Init работает

2 = когда пример класса выполняет BeforeReport

3 = работает как при Init, так и при BeforeReport

По умолчанию 0

setConfiguration Method

Проверяет текущую конфигурационную таблицу на наличие динамической информации в записях подходящего типа и выполняет эти инструкции если они обнаружены.

Снтаксис: SetConfiguration()

Возвращаемое значение: None

Параметры:  Нет

targetFileExt Property

Обеспечивает файловое расширение по умолчанию для файлового выхода.

По умолчанию "TXT"

targetFileName Property

Обеспечивает имя файла на который быдет переписан выход.Уникальное имя будет сгенерировано для примера класса, which will be overwritten for successive report runs if not adjusted by the user.

Default FORCEPATH (SYS(2015),SYS(2023))

targetHandle Property

Обеспечивает низкоуровненевую файловую ручку, to which output is written directly when the class provides raw data to the file, otherwise reserves the file during the report run so other applications do not write to it.

По умолчанию -1

verifyConfigTable Method

Устанавливает, что формат и содержание конфигурации удовлетворяют требованиям, регулирует их если это необходимо..

Синтаксис: verifyConfigTable(cAlias [, cFailureMsgTable [, cFailureMsgIndexes]])

Возвращаемое значение: logical

Параметры:

cAlias - псевдоним таблицы, которую Вы хотите подтвердить. Таблица должена быть уже открыта под этим псевдонимом когда Вы вызываете метод.

cFailureMsgTable обеспечивает дополнительное альтернативное сообщение, которое отображается, если назначенная таблица не может быть проверена на наличие правильного формата конфигурационной таблицы. Если Вы не добавляете это сообщение, UtilityReportListener использует строковую константу #DEFINEd в REPORTLISTENERS_LOCS.H.

cFailureMsgIndexes обеспечивает альтернативное сообщение, которое отображается, если таблица не имеет подходящие индексы. Если Вы не добавляете это сообщение, UtilityReportListener использует строковую константу #DEFINEd в REPORTLISTENERS_LOCS.H.

verifyTargetFile Method

Убедитесь, что назначенные имя файла и сетевая позиция доступны в начале работы базирующегося файлового сообщения.

Синтаксис: verifyTargetFile()

Возвращаемое значение: Нет

Параметры:  Нет

Дополнительно