В этой секции описывается ряд выводов, которые вы должны учитывать при подготовке вашего приложения к распространению.
Выбор типа сборки
До того, как вы сможете распространять ваше приложение, вы должны собрать файл приложения (.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.
![]() |
---|
Если вы желаете запускать файл приложения (.exe) с использованием среды разработки Visual FoxPro, вы должны запускать .exe файл вместе с исполнимым файлов Visual FoxPro, VFPVersionNumber.exe. |
Приложение, состоящее только из немодальных форм, не будет корректно работать в среде run-time, пока вы не предоставите команду READ EVENTS. Вы можете обеспечить корректную работу приложения добавлением вызывающей программы или установкой свойства WindowType.
Вы можете, кроме того, напечать DO
вместе с именем файла вашего
приложения (.exe) в окне Command или использовать ключ командной строки -E
в строке команды, которая запускает Visual FoxPro. Например, если ваше
приложение называется MYAPP,
вы можете запустить его с помощью приведенной ниже командной строки:
![]() | |
---|---|
MYAPP.EXE -E |
Ключи командной строки вынуждают приложение использовать исполнимый файл , VFPVersionNumber.exe, где VersionNumber представляет собой номер версии установленного у вас релиза Visual FoxPro. Чтобы этот ключ работал корректно, файл VFPVersionNumber.exe должен находиться в пути поиска операционной системы.
Для запуска формы в среде run-time
-
Запустите форму из программы, содержащей команду READ EVENTS.
- или -
-
Установите свойство формы 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 приложения.
![]() |
---|
Если ваша система меню работает в среде разработки, но закрывается сразу после запуска - проверьте - имеется ли активная команда READ EVENTS во время работы вашей системы меню. Кроме того, убедитесь, что включили команду CLEAR EVENTS, когда вы выходите из системы меню. |
Для получения более подробной информации о настройке меню смотрите описание Разработка меню и полосок инструментов.