Для дополнительной информации по написанию серверов автоматизации, смотрите разделы на следующие темы.
Объекты Application
Объекты Application не представлены в библиотеке типов серверов автоматизации, поэтому вы не можете обратиться к методам DoCmd и Eval объекта Application. Однако, вы можете сделать объект Application доступным, путем создания пользовательского свойства и установки его значения на объект Application, или вы можете предоставить метод, который осуществляет доступ к объекту Application.
Примечание |
---|
Изменяемые свойства объекта Application, как например, AutoYield, являются глобальными для проекта. Следовательно, позаботьтесь, чтобы многопоточные серверы не предполагали, что значения этих установок защищены в топоке. |
Для дальнейшей информации смотрите Объект Application.
Примеры Сервера Автоматизации
Данная версия Visual FoxPro включает два примера ISAPI сервера автоматизации, FoxWeb и FoxIS. Данные примеры способны передавать выбранные Visual FoxPro записи в формате HTML в Internet browser. Для дальнейшей информации об этих примерах смотрите Примеры FoxISAPI Сервера Автоматизации.
Примечание |
---|
FoxISAPI предоставляет удобства, разработанные специально для применения новых многопоточных DLL Серверов. DLL Серверы, которые запускаются через FoxISAPI не должны использовать встроенный Pool Manager. |
Файлы Конфигурации
В Visual FoxPro, только те файлы конфигурации, Config.fpw, которые включены в EXE или DLL серверах будут использрваны при run-time инициализации. Файл конфигурации хранит важные настройки, которые устанавливаются в момент запуска Visual FoxPro, как сам по себе, так и в run-time. До Visual FoxPro 6.0, файл Config.fpw мог существовать как отдельный файл так и включенный в приложение (.app, .exe или .dll). Если файл Config.fpw обнаружен внутри приложения, тогда он используется. В противном случае, Visual FoxPro ищет Config.fpw файл в доступных директориях.
Вы все таки будите иметь полную функциональность с нормально распространенными .app и .exe приложениями.
Для дальнейшей информации смотрите Как: Установить Опции Конфигурации при Запуске.
Управление Кодовой Страницей
Кодовые страницы поддерживаются во всех серверах и они специфичны для индивидуального проекта (.dll). Вы можете установить кодовую страницу по умолчанию в Config.fpw файле; однако, она устанавливается только в момент run-time инициализации. Кодовая страница является глобальной для всех проектов. Также, все объекты, примененные в конкретной run-time сессии, используют одну и туже кодовую страницу.
У каждого сервера есть его собственная конфигурация Config.fpw с отличной установкой кодовой страницы. Visual FoxPro предотвращает изменение этой настройки после запуска run-time, т.к. множественные .dll серверы потенциально могут изменять кодовую страницу по умолчанию в run-time. Следовательно, кодовая страница, единожды установленная, остается безызменной до тех пор, пока данный run-time не завершиться.
Пояснение |
---|
Пользователи, которым необходимы серверы, каждый из которых с индивидуальной кодовой страницей, могут разместить такие серверы, вместе с копией VFP9T.dll run-time библиотекой, в отдельную папку. Сервер по умолчанию использует run-time библиотеку, находящиюся в той же папке. Для дальнейшей информации смотрите VFP9T.DLL Run-Time Библиотеки. |
Особые Языковые Соглашения
Работая с серверами автоматизации, отдавайте себе отчет в том, что поведение следующих команд слегка отличается от их поведения в обычном режиме работы Visual Foxpro:
-
Команда SET PROCEDURE
Данная команда уникальна для каждого индивидуального потока потому, что она хранится в локальной памяти потока. Тем не менее, Visual FoxPro неявно выполняет SET PROCEDURE ко всему серверу по умолчанию, когда вы вызываете .exe или .dll COM сервер.
Например:
Copy Code ? SET("PROCEDURE") C:\VFP\MYSERVER.DLL
Это дает вам возможность обратиться в любой процедуре, хранимой в данном сервере. Если существующий объект в потоке вызывает SET PROCEDURE, то путь к процедуре сбрасывается (становится пустым). Тем не менее, новый объект в том же самом потоке автоматически установит путь к процедуному файлу, как путь ко всему серверу опять.
-
Команда SET CLASS
Данная команда работае аналогично команде SET PROCEDURE. Это значение хранится в локальной памяти потока; тем не менее, оно устанавливается ко всем библиотекам классов в вашем .exe или .dll сервере.
Например:
Copy Code ? SET("CLASS") C:\VFP\myClass.VCX ALIA
-
Команды CD, CHDIR и SET DEFAULT
Эти команды изменяют исходные директории всего процесса, таким образом, они влияют на все потоки, которые являются частью процесса. Вместо CD, CHDIR и SET DEFAULT, используйте Команду SET PATH.