Когда Вы распространяете приложение у Вас есть несколько вариантов того, как развернуть отчеты, которые Вы разработали для обеспечения вывода приложения. Этот раздел описывает возможности включения таблиц определения отчетов и этикеток (.frx и .lbx файлы) и компоненты распространения системы отчетов (distributable Visual FoxPro Report System components).
Распространения
файлов отчетов и этикеток
Отчеты и этикетки могут быть включены в Ваш проект и встроены в Ваше приложение (.exe или .app файлы) или они могут быть поставлены отдельно на диске.
![]() |
---|
Вы можете ссылаться к отчетам и этикеткам в Вашем проекте приложения во время разработки приложения, при этом компилированный файл приложения будет создаваться без включения в него файлов отчетов и этикеток. Для дополнительной информации смотри Как исключить файлы из построения ( Builds). |
Какую стратегию Вы решите использовать, обычно зависит от того, хотите ли Вы дать возможность конечному пользователю настраивать отчеты и этикетки. Если отчеты и этикетки находятся на диске, как отдельные файлы, Ваше приложение может обеспечить конечному пользователю возможность модификации их с помощью команд MODIFY REPORT и MODIFY LABEL.
![]() |
---|
В Visual FoxPro 9 Вы можете предложить конечным пользователям настройку отчета при сохранении основы разработки с помощью пользовательских диалогов построителя отчета (custom Report Builder dialogs) и таких возможностей, как Report Protection, Report Designer ToolTips и Design-time Captions. Для дополнительной информации смотри Как установить защиту для отчетов ( Protection for Reports), Как добавлять подсказки (Tooltips) к элементам управления отчета и Как добавить Design-time Captions к полям элементов управления. |
Вы можете использовать комбинацию подходов при построении отчетов и этикеток в Вашем приложении, если использовать их как "read-only" шаблоны вывода и копируя их на диск для модификации конечным пользователем. Этот подход имеет преимущество в том, что Вы в любой момент можете вернуться к оригинальной копии файла определения отчета или этикетки.
![]() |
---|
Использование "built-in"
шаблона также позволяет Вам делать некоторые настройки в
отчете или этикетке в последний момент "last-minute"
до того, как конечный пользователь начнет, что-то изменять.
Например, Вы можете настроить флаги защиты в
редактируемой копии используя таблицу "lookup"приложения
для определения того, что разрешено пользователю.
Вы можете также заменить ToolTips для элементов
управления отчета, которые использовались для целей разработки на другой
набор, содержащий инструкции для конечного пользователя.
Так как Вы можете добавить дополнительные поля в таблицы
отчетов и этикеток эта программная настройка в режиме run-time
будет также проста, как открытие отчета или этикетки с
помощью команды USE
и далее используя команду |
В некоторых случаях Visual FoxPro позволяет командам MODIFY REPORT и MODIFY LABEL использоваться с именами "read-only" файлов отчетов и этикеток встроенных в приложение. Когда конечный пользователь приложения сохраняет отчет или этикетку из дизайнераVisual FoxPro сохраняет копию на диск. Для такой стратегии работы необходимо, чтобы файлы отчетов и этикеток находились в той же папке, что и файл проекта (.pjx) или в папке, чьё имя Visual FoxPro может найти в режиме run time относительно файла приложения (.exe or .app).
Например, предположим, что Ваш проект находится в папке
d:\app,
а отчет, который Вы желаете включить в проект находится
в d:\app\reports\my.frx
на Вашем компьютере разработчика.
Во время "run time"
Вы инсталлируете файл приложения (.exe)
в c:\programs\myapp. Если
Вы создаете дополнительную папку для отчетов c:\programs\myapp\reports,
Вы сможете использовать команду
MODIFY REPORT my.frx
. Когда пользователь
сохраняет отчет,
Visual FoxPro сохраняет отчет, как c:\programs\myapp\reports\my.frx
по умолчанию. Однако,
если c:\programs\myapp не
имеет подпапки, появляется ошибка на команде MODIFY REPORT.
Вы можете контролировать доступность подпапки в режиме run time
и использовать
Команда MD |
MKDIR если необходимо.
Или используйте следующие команды, где lcDir
сохраняет имя папки, предварительно проверенной
пользователем.
![]() | |
---|---|
SELECT * FROM my.frx INTO TABLE (lcDir + "my.frx") MODIFY REPORT(lcDir + "my.frx") |
Этот вариант устанавливает процесс под полный Ваш контроль. Он позволяет Вам определить папку, чтобы не зависеть от структуры на этапе проектирования.
![]() |
---|
При распространении отчетов, как встроенных, так и внешних файлов, убедитесь в том, что все дополнительно требуемые файлы доступны Вашему приложению в run time. Например, если ваш отчет ссылается на файл картинки, включите этот файл в Ваше приложение или распространяйте этот файл отдельно на диске. Будьте уверены, что файл картинки находится в том же месте, как описано в Вашей структуре построения проекта или в структуре папок Вашего дистрибутива на диске относительно файла отчета, как это было во время разработки отчета. Тем не менее Visual FoxPro может не найти файл картинки, когда он создает отчет. Если Вы выберите вариант встроенного отчета в ваше приложение, другие компилированные модули, такие как ReportOutput.app или ReportBuilder.app могут не найти файлы внутри вашего компилированного модуля. Вы можете быть уверены, что компоненты системы отчетов найдут Ваши файлы при включении их исходных файлов в ваше приложение, также как распространение их как отдельных приложений. Далее описаны варианты для распространения этих компонентов. |
Распространение
Компонентов Системы Отчетов
Если Вы даете возможность конечному пользователю модифицировать отчеты и этикетки, Вы должны распространять Report Builder Application или Вашу пользовательскую версию приложения построения отчетов для того, чтобы ваши пользователи имели все возможности по конструированию отчетов.
По умолчанию, Visual FoxPro ищет файл с именем ReportBuilder.app в HOME() или в месте запуска. Для выполняемого приложения (.exe), это место всегда является папка, где инсталлируются run-time библиотеки Visual FoxPro такая как, C:\Program Files\Common Files\Microsoft Shared\VFP. Для дополнительной информации смотри Функция HOME( ). Если вы включите общий модуль Microsoft Visual FoxPro 9 Report Applications в программу Setup инсталляции Вашего приложения, как описано в следующем абзаце, по умолчанию ReportBuilder.app инсталлируется в определенное место на диске пользователя.
![]() |
---|
Инсталляция любых других приложений с именами ReportBuilder.app, ReportPreview.app, и ReportOutput.app в каталог по умолчанию, где размещены run-time support libraries, не рекомендуется, поскольку Вы можете переписать их приложениями по умолчанию, требуемые другими приложениями Visual FoxPro. Если вы желаете установить пользовательские версии этих приложений, используйте другие имена приложений и обозначьте именами Ваши предпочтительные компоненты системы отчетов, как описано в этом разделе. |
Вы можете использовать Системная переменная _REPORTBUILDER в вашем приложении или в файле конфигурации (CONFIG.FPW) для вашего приложения для описания различных мест расположения и различных имен файлов для Вашего распространяемого Report Builder Application. Для дополнительной информации смотри Установка конфигурационных опций при запуске (Startup).
Когда Вы используете приложения, у Вас имеется опция для включения файлов компонентов Report Builder в Ваше выполняемое приложение (.exe) даже в в случае, когда распространяемое приложение Report Builder Application является отдельным независимым файлом (standalone). Для дополнительной информации смотри Как описать и распространять ReportBuilder.App.
Для обеспечения возможности расширенного вывода в Ваших приложениях, используя объекты ReportListener и PreviewContainer, Вам необходимо распространять Report Output Application (ReportOutput.app) и Report Preview Application (ReportPreview.app) или подходящие им замены. Технология описания имен и мест расположения этих компонентов идентична для всех трех приложений. Для дополнительной информации смотри Как описать и распространять ReportPreview.App и Как описать и распространять компоненты Report Output Application.
![]() |
---|
Вы можете усилить классы порожденные по умолчанию от ReportListener и используемые приложением вывода отчета (Report Output Application) и многие возможности Report Builder Application отдельно от этих двух приложений, используя библиотеку фундаментальных классов, содержащую идентичные визуальные классы. Для дополнительной информации смотри ReportListener Foundation Classes, FRX Cursor Foundation Class, and FRX Device Helper Foundation Class. |
Дополнительные
дистрибутивные файлы для отчетов и Visual FoxPro's Report System
Visual FoxPro поддерживает модули слияния (файлы.msm ), поэтому Вы можете строить дистрибутивные программы Setup для вашего приложения и включать все необходимые файлы поддержки. Для дополнительной информации смотри Создание Visual FoxPro Application Setup Program используя InstallShield. Следующая таблица содержит модули, специально предназначенные для приложенийe, использующих возможности отчетов в Visual FoxPro.
Имя файла модуля слияния | Заголовок модуля слияния | Примечания |
---|---|---|
vfp9rptapps.msm |
Visual FoxPro 9 Report Applications |
Инсталлирует ReportBuilder.app, ReportOutput.app, и ReportPreview.app в их, определенное по умолчанию, место для выполняемых приложений. |
msxml4sxs32.msm msxml4sys32.msm |
MSXML 4.0 |
Эти модули требуются для всех инсталляций приложенийl Visual FoxPro и используются по умолчанию приложениями Report Applications. |
GDIPlus.msm |
Microsoft GDI+ |
Этот модуль требуется для всех инсталляций приложенийl Visual FoxPro и используется системой отчетов в режиме объектно-ассистированного отчета. |
Смотри
также

© Microsoft Corporation. All rights reserved.
Перевел BYI