OLE VFP
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: курсовая работа по организации, вирусы реферат
| Добавил(а) на сайт: Jutilov.
Предыдущая страница реферата | 1 2 3 4 5 6 | Следующая страница реферата
Нажмем кнопку Build и создадим EXE- или DLL-файл. Если вы внимательно
следили за сообщениями появляющимися в процессе построения файла, то
наверняка заметили сообщение «Creating Type Library and Registering OLE
Server», которое свидетельствует о создании и регистрации нашей программы
как OLE-сервера. Напомним, что это произошло из-за наличия опции OLEPUBLIC
в команде описания класса.
При построении OLE-сервера (OLE_SER.EXE или OLE_SER.DLL) создаются файлы OLE_SERV.TLB и OLE_SERV.VBR.
Файл TLB — это библиотека OLE-o6ъектов сервера, которая может быть
просмотрена с помощью Visual FoxPro Class Browser, Excel, Visual Basic и
Visual C. Файл VBR - это текстовый файл с данными для записи в Регистре
Windows.
Теперь можно набрать в командном окне следующую строчку: oObj = CREATEOBJECT("OLE_SERV.OLE_SERV")
После непродолжительного ожидания, требующегося для загрузки сервера вы увидите окно с заголовком «Работает мой первый OLE-сервер!» и сообщением с именем выполняемой в данный момент процедуры - Init.
Хотя наш OLE-сервер не выполняет никакой полезной работы, свидетельством его активности могут служить следующие cтрочки:
? oObj.Application.Name
? oObj.Application.Visible
? TYPE("oObj")
? oObj.Application.Docmd("MESSACEBOX(HOME())")
? oObj.Application.Docmd("_ClipText=HOME()+SYS(2003)+ SYS(2004)")
Обратите внимание на последнюю строку примера. Она записывает в буфер
обмена путь к OLE-серверу с помощью трех функций. Например, это может быть
строка: DWORKSVFP5_SAMPLE. В нашем примере она будет повторена три раза.
Это свидетельствует о том, что OLE начинает поиск сервера с каталога SYSТЕМ
ОС Windows.
Таким образом, при распространении приложения и установке сервера на
различных компьютерах в различных каталогах, мы можем столкнуться с
проблемой указания пути как к серверу, так и используемым им компонентам
(файлам базы данных, форм, отчетов и т. д.). Лучшее решение - это
использование для сервера ЕХЕ-функции Windows API GetModuleFileName(), которая возвращает полный путь к главному файлу ЕХЕ текущего процесса, если
в качестве первого параметра передается нуль. Для сервера DLL можно
использовать функцию GetModuleHandleQ с именем файла DLL в качестве
параметра для возвращения указателя на сервер. Этот указатель можно
использовать в функции GetModuleFileName() для получения полного пути к
серверу DLL.
Сделаем еще несколько замечаний насчет построения OLE-сервера.
Выберите команду Project Info из меню Project, когда открыт последний
обсуждаемый проект, ив появившемся диалоговом окне перейдите на вкладку
Servers. На этой вкладке сосредоточена информация, которую вы можете
просмотреть или изменить для каждого класса OLE Public в проекте. Обратите
внимание, что эта информация появляется только после того, как будет
построен EXE- или DLL-файл.
Раскрывающийся список Instancing позволяет указать, как будет работать сервер Out-of-Process. Возможные установки приведены в табл. 3.
Возможные режимы работы OLE-сервера Visual FoxPro
Таблица 3.
|Single Use |Каждый клиент использует свою собственную копию сервера. |
| |Таким образом для нескольких пользователей будет запущено |
| |соответствующие количество копий сервера. |
|Multiple Use |Все клиенты используют одну копию сервера. Для того, чтобы |
| |избежать их взаимного влияния при работе с общими данными, |
| |следует установить значение свойства DataSession равным 2 |
| |(private). |
|Not Creatable |Предотвращает создание OLE-сервера, несмотря на наличие в |
| |проекте класса OLE Public. |
OLE-сервер Visual FoxPro регистрируется автоматически. Для ручной
регистрации сервера ЕХЕ достаточно его запустить с опцией /regserver. Опция
/unregserver позволяет удалить информацию о сервере из Регистра Windows.
Для регистрации сервера DLL вручную запустите утилиту REGSVR32.EXE с именем
файла в качестве первого параметра. Удалить информацию о сервере из
Регистра можно, использовав второй параметр /u. Например:
REGSVR32 OLE_SERV.DLL /u
OLE-сервер Visual FoxPro для своей работы требует присутствия библиотеки поддержки - файлов VFP500.DLL и VFP5ENU.DLL.
OLE-сервер в компьютерной сети
При коллективное работе с данными OLE-сервер должен обрабатывать
вызовы всех пользователей компьютерной сети и, следовательно, должен
находиться на сервере, а не на каждом компьютеры пользователя. Такой подход
позволяет организовать трехуровневую модель обработки данных. Эта модель
отличается от традиционной модели клиент-сервер, т. к. отображает не просто
физическое взаимное - расположение пользователя и программы, а логику
обработки данных. В трехуровневой модели выделяют следующие логические
процессы:
Пользовательский процесс — представляет возможность работы с данными
пользователю приложения, обеспечивает защиту данных от несанкционированного
доступа.
Бизнес-процесс — обеспечивает единые правила работы с данными с точки
зрения технологии производственного процесса, генерирует информационную
поддержку маркетинга и менеджмента.
Процесс обработки данных — обеспечивает описание и хранение данных
обработку и выполнение запросов, поддержку целостности данных.
Таким образом, в этой логической модели бизнес-процесс может быть ревизован на основе OLE-сервера, в котором с помощью соответствующих методов будет организована обработка данных, посылаемых от клиентских приложений с целью выполнения комплексных расчетов на основе различных источников, и выработки каких-либо решений для дальнейшей обработки.
Возможность взаимодействия между OLE-контроллером и OLE-сервером
обеспечивается двумя объектами:
Proxy — обеспечивает формирование пакета данных с параметрами вызова для
OLE-сервера. Этот объект работает в адресном пространстве OLE-контроллера и
обеспечивает соединение с соответствующим объектом Stub в адресном
пространстве OLE-сервера.
Stub — принимает пакет данных и обеспечивает переадресацию вызова для
выполнения соответствующих действий на OLE-сервере. Этот объект работает в
адресном пространстве OLE-сервера и связан с соответствующим объектом Proxy
в адресном пространстве OLE-контроллера.
При работе OLE Automation на одном компьютере функционирование объектов Proxy и Stub обеспечивается системным файлом OLEAUT32.DLL
Рекомендуем скачать другие рефераты по теме: отчет о прохождении практики, реферат формирование.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 | Следующая страница реферата