Объекты Application и Report

Оценить
(0 голоса)

Как и в Visual Basic, в Web-проекте первым делом должны быть объявлены два следующих объекта базового уровня: объект Application и объект Report (объект Application используется в VB только в том случае, если интегрируется внешний файл .RPT). Объект Application нужно объявлять только один раз, в самом начале проекта. Поскольку в версии Crystal Reports XI продолжается новая традиция пакета Crystal Reports “параллельных” установок (то есть установок на одном и том же компьютере нескольких версий Crystal Reports), то во время объявления объекта Application в ProglD должен быть добавлен идентификатор версии.

После объявления объект Application используется для открытия объекта Report; дальше он, как правило, больше не используется в проекте до тех пор, пока не будет “передан” в RDCrptserverll .ASP. Поскольку данные объекты должны оставаться в области видимости на протяжении всего проекта и во всех ассоциированных ASP-файлах, они объявляются как сеансовш переменные, которые сохраняют свои значения и остаются в области видимости всего проекта ASP. Ниже представлен пример ASP-кода для объявления этих объектов:

’ СОЗДАНИЕ ОБЪЕКТА APPLICATION If Not IsObject (session (11 oApp") ) Then Set session("oApp") = _

Server.CreateObj ect("CrystalRuntime.Application.11")

End If

1 СОЗДАНИЕ ОБЪЕКТА REPORT

reportname = Path & "Xtreme Orders.rpt"   »

1 Путь должен быть физическим путем, а не виртуальным If IsObject(session("oRpt")) then Set session (11 oRpt") = nothing End If

Set session("oRpt11) = session("oApp").OpenReport(reportname, 1)

1 Отключение сообщений об ошибках на Web-cepeepe session ("oRpt11) .EnableParameterPrompting = False

Ниже представлено несколько замечаний относительно данного примера кода VBScript.

•    Переменные не нужно идентифицировать с помощью оператора DIM или объявлять перед их использованием. Если говорить на языке терминов VB, никакой оператор Option Explicit не выполнялся. Хотя на первый взгляд это упрощает требования к написанию кода, вы должны помнить следующее: это означает, что все используемые подобным образом переменные являются вариантами. Некоторые методы RDC требуют, чтобы переменные передавались с определенным типом данных. В таких случаях следует использовать VBScript-функции приведения типов (например, CStr или Clnt), чтобы переменные при передаче получили корректные типы.

•    Имени файла отчета предшествует переменная Path, которая была установлена в предыдущем сценарии VBScript, не показанном здесь (значение Request. ServerVariables (11 PATH_TRANSLATED" ) представляет собой имя физического пути к текущему ASP-файлу). Путь должен быть физическим путем к файлу отчета (например, с: \REPORTS), поскольку RDC не может преобразовывать виртуальные пути на Web-cepeepe. Если вы точно знаете, где будет находиться файл .RPT, вы можете вообще полностью пропустить данный раздел кода и просто указать физический путь и имя файла в методе OpenReport.

•    Объект Application объявляется только один раз. Чтобы обеспечить использование именно одиннадцатой версии RDC (поскольку на одном компьютере теперь может быть установлено более одной версии), необходимо добавить .11 в конце идентификатора ProglD. Если данный раздел VBScript выполняется повторно, сохраняется предыдущее объявление оАрр. Однако если существует предыдущее объявление объекта Report (возможно, для другого отчета, который обрабаты

вался при предыдущем проходе через данный код), то оно будет установлено в Nothing перед установкой в новый отчет с помощью метода ОрепЯерогиобъекта Application.

•    Свойство EnableParameterPrompting объекта Report устанавливается равным False. Это уменьшает шансы отображения подсказок на Web-cepeepe, если они не предусмотрены кодом. Если RDC отобразит подсказку с приглашением выполнить то или иное действие в то время, когда браузер будет ожидать запрос отчета, Web- мастера может рядом не оказаться. Если это случится, сеанс браузера зависнет, что в конечном счете завершится простоем.

Внимание! В приведенных в этой книге примерах кода встречаются символы подчеркивания (в

Visual Basic), обозначающие продолжение строки кода. Однако* использование этих символов

допускается только в Visual Basic, в Active Server Pages они не поддерживаются. Поэтому

при вводе кода из примеров в ASP обязательно размещайте код в одной и той же строке.

Работа с объектом Report
Объект PageEngine
Выбор и настройка программ просмотра отчетов, доступных для RDC-приложений
Что такое Cleanup. ASP?
Разработка VB-приложений для Windows с помощью RDC

Добавить комментарий


Защитный код
Обновить