В этой секции описывается ряд выводов, которые вы должны учитывать при подготовке вашего приложения к распространению.

Выбор типа сборки

До того, как вы сможете распространять ваше приложение, вы должны собрать файл приложения (.app) , исполнимый файл (.exe)  или COM компонент(automation server) с расширением .dll или .exe. При выборе типа сборки, которую вы желаете создать, учитывайте размер вашего конечного приложения, а также обстоятельство - установлен ли Visual FoxPro на компьютере пользователя.

В приведенной ниже таблице перечислены различия между типами сборок.

 
Тип сборки Описание

Файл приложения (.app)

Такой файл требует, чтобы у пользователя была инсталлирована копия Visual FoxPro. Файл .app обычно меньше по размеру, чем .exe файл.

Исполнимый файл (.exe)

Такой файл включает в себя загрузчик Visual FoxPro, поэтому не требуется, чтобы у пользователя был инсталлирован Visual FoxPro.

Вы должны предоставить два файла поддержки VFPVersionNumberR.dll и VFPVersionNumberRENU.dll, где VersionNumber представляет собой номер версии установленного у вас релиза Visual FoxPro. Буквы "EN" представляют собой сокращение для английской версии. Эти файлы должны быть помещены в том же самом каталоге, что и .exe файл, или в каталоге, указанном в DOS пути. Смотрите описание команды BUILD EXE для получения подробной информации о создании и распространении исполнимых файлов.

COM сервер (файлы .dll или .exe)

Этот тип используется для создания файла, который может быть вызван другими приложениями.

В Visual FoxPro, вы можете создать два типа файлов COM сервера (.dll,бывший, OLE). Вы должны предоставлить файлы поддержки run-time, включая VFPVersionNumberR.dll, VFPVersionNumberT.dll и VFPVersionNumberRENU.dll, где VersionNumber представляет собой номер версии установленного у вас релиза Visual FoxPro. Для получения более подробной информации смотрите описание задачи Как: добавить OLE объекты в приложения.

Вопросы железа, памяти и сети

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

Приложение, которое вы создали может потребовать те же самые требования к железу, памяти и сетевым ресурсам, что и Visual FoxPro. Для получения более подробной информации об этих требованиях посмотрите раздел Инсталляция Visual FoxPro. Для получения дополнительной информации о создании приложений для многопользовательской среды посмотрите описание Програмимирование для совместного доступа.

Уверенность в корректном поведении в Run-Time

При распространении исполнимого файла (.exe) приложения, вы должны включить в поставку своего продукта перечисленные ниже файлы:

  • VFPVersionNumberR.dll, где VersionNumber представляет собой номер версии установленного у вас релиза Visual FoxPro.

  • VFPVersionNumberRENU.dll

  • GDIPlus.dll

  • MSVCR71.dll

В некоторых случаях, Visual FoxPro in-process серверы, или  файлы .dll могут использовать вместо полной - облегченную версию VFPVersionNumberT.dll run-time библиотеки. Для получения дополнительной информации о run-time библиотеках смотрите описания  VFP9R.DLL Run-Time Library и VFP9T.DLL Run-Time Library.

NoteЗамечание

Если вы желаете запускать файл приложения (.exe) с использованием среды разработки Visual FoxPro, вы должны запускать .exe файл вместе с исполнимым файлов Visual FoxPro, VFPVersionNumber.exe.

Приложение, состоящее только из немодальных форм, не будет корректно работать в среде run-time, пока вы не предоставите команду READ EVENTS. Вы можете обеспечить корректную работу приложения добавлением вызывающей программы или установкой свойства WindowType.

Вы можете, кроме того, напечать DO вместе с именем файла вашего приложения (.exe) в окне Command или использовать ключ командной строки -E в строке команды, которая запускает Visual FoxPro. Например, если ваше приложение называется MYAPP, вы можете запустить его с помощью приведенной ниже командной строки:

 CopyCode imageСкопировать код
MYAPP.EXE -E

Ключи командной строки вынуждают приложение использовать исполнимый файл , VFPVersionNumber.exe, где VersionNumber представляет собой номер версии установленного у вас релиза Visual FoxPro. Чтобы этот ключ работал корректно, файл VFPVersionNumber.exe должен находиться в пути поиска операционной системы.

Для запуска формы в среде run-time

  1. Запустите форму из программы, содержащей команду READ EVENTS.

    - или -

  2. Установите свойство формы WindowType в Modal.

Некоторые приложения Visual FoxPro жестко привязаны к системному меню Visual FoxPro. В run time, некоторые меню и команды недоступны, если не предоставлена команда READ EVENTS, а приложение, управляемое через меню заканчивает работу сразу после запуска. Используйте следующий раздел для просмотра любых меню, которые вы включаете в свое приложение.

Для получения более подробной информации о структурировании приложения с командной READ EVENTS смотрите описание задачи  Как: управлять циклом событий и примеры - как структурировать приложение  - в описании Компиляция приложения.

Опции меню по умолчанию

Если вы используете системное меню Visual FoxPro, ваш файл прилоожения включает в себя только приведенные ниже меню и команды меню, используемые по умолчанию.

 
Меню Элементы меню

File

Close, Save, Save As, Exit

Edit

Undo, Redo, Cut, Copy, Paste, Paste Special, Select All, Find, Replace

Window

Arrange All, Hide, Hide All, Show All, Clear, Cycle, все открыте окна

Help

Contents, Search for Help on, Product Support, About Visual FoxPro

Вы можете запретить или удалить любое из этих меню или команды меню, или добавить свои собственные меню и команды в ваши run-time приложения.

NoteСовет

Если ваша система меню работает в среде разработки, но закрывается сразу после запуска - проверьте - имеется ли активная команда READ EVENTS во время работы вашей системы меню. Кроме того, убедитесь, что включили команду CLEAR EVENTS, когда вы выходите из системы меню.

Для получения более подробной информации о настройке меню смотрите описание Разработка меню и полосок инструментов.

Смотрите также