Для дополнительной информации по написанию серверов автоматизации, смотрите разделы на следующие темы.

Объекты Application

Объекты Application не представлены в библиотеке типов серверов автоматизации, поэтому вы не можете обратиться к методам DoCmd и Eval объекта Application. Однако, вы можете сделать объект Application доступным, путем создания пользовательского свойства и установки его значения на объект Application, или вы можете предоставить метод, который осуществляет доступ к объекту Application.

NoteПримечание

Изменяемые свойства объекта Application, как например, AutoYield, являются глобальными для проекта. Следовательно, позаботьтесь, чтобы многопоточные серверы не предполагали, что значения этих установок защищены в топоке.

Для дальнейшей информации смотрите Объект Application.

Примеры Сервера Автоматизации

Данная версия Visual FoxPro включает два примера ISAPI сервера автоматизации, FoxWeb и FoxIS. Данные примеры способны передавать выбранные Visual FoxPro записи в формате HTML в Internet browser. Для дальнейшей информации об этих примерах смотрите Примеры FoxISAPI Сервера Автоматизации.

NoteПримечание

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 не завершиться.

NoteПояснение

Пользователи, которым необходимы серверы, каждый из которых с индивидуальной кодовой страницей, могут разместить такие серверы, вместе с копией VFP9T.dll run-time библиотекой, в отдельную папку. Сервер по умолчанию использует run-time библиотеку, находящиюся в той же папке. Для дальнейшей информации смотрите VFP9T.DLL Run-Time Библиотеки.

Особые Языковые Соглашения

Работая с серверами автоматизации, отдавайте себе отчет в том, что поведение следующих команд слегка отличается от их поведения в обычном режиме работы Visual Foxpro:

  • Команда SET PROCEDURE

    Данная команда уникальна для каждого индивидуального потока потому, что она хранится в локальной памяти потока. Тем не менее, Visual FoxPro неявно выполняет SET PROCEDURE ко всему серверу по умолчанию, когда вы вызываете .exe или .dll COM сервер.

    Например:

      CopyCode imageCopy Code
    ? SET("PROCEDURE")
    C:\VFP\MYSERVER.DLL

    Это дает вам возможность обратиться в любой процедуре, хранимой в данном сервере. Если существующий объект в потоке вызывает SET PROCEDURE, то путь к процедуре сбрасывается (становится пустым). Тем не менее, новый объект в том же самом потоке автоматически установит путь к процедуному файлу, как путь ко всему серверу опять.

  • Команда SET CLASS

    Данная команда работае аналогично команде SET PROCEDURE. Это значение хранится в локальной памяти потока; тем не менее, оно устанавливается ко всем библиотекам классов в вашем .exe или .dll сервере.

    Например:

      CopyCode imageCopy Code
    ? SET("CLASS")
    C:\VFP\myClass.VCX ALIA
  • Команды CD, CHDIR и SET DEFAULT

    Эти команды изменяют исходные директории всего процесса, таким образом, они влияют на все потоки, которые являются частью процесса. Вместо CD, CHDIR и SET DEFAULT, используйте Команду SET PATH.

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