Пример: Транспортная логистика
Я ищу:
На главную  |  Добавить в избранное  

Программированиеи компьютеры /

OLE VFP

←предыдущая  следующая→
1 2 3 



Скачать реферат


МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Кафедра «САПР и ПК»

Семестровая работа

тема:

«Visual FoxPro 5.0 как OLE-cервер»

Выполнил: студенты группы АС-563

Маштак О.Н.

Проверил:

Волгоград 1999г.

Содержание:

1. Visual FoxPro как OLE-сервер 2

2. Создание OLE-сервера в Visual FoxPro 7

3. OLE-сервер в компьютерной сети 11

4. Automation Manager 14

5. Remote Automation Connection Manager 15

Visual FoxPro как OLE-сервер

Начиная с пятой версии, Visual FoxPro может выполнять функции OLE-сервера. OLE-сервер — это приложение, которое может предоставить свои объекты для уп¬равления другой программе, поддерживающей OLE Automation.

Эта новая возможность существенно расширяет возможности использования Vis¬ual FoxPro, поэтому остановимся чуть подробнее на том, что же такое OLE-сервер.

Большинство OLE-серверов являются так называемыми серверами Out-of-Process. Они представляют из себя исполняемые программы (файлы с расширением ЕХЕ) и могут взаимодействовать как с 16-bit, так и с 32-bit OLE-контроллерами. Расплатой за это является невысокая скорость обмена данными и потребляемые значительные ресурсы памяти. Другой тип OLE-сервера называется In-Process и представляет из себя DLL-библиотеку, которая динамически подгружается и вы¬гружается в зависимости от необходимости. Хорошим примером такого сервера является процессор баз данных СУБД Access 7.0. Обмен данными с этим типом OLE-сервера происходит значительно быстрее, но работать он может только с OLE-контроллером такой же разрядности.

В Visual FoxPro доступ к объектам выполняется, как и в подавляющем большин¬стве других OLE-серверов, с помощью объекта верхнего уровня Application. В табл. 1 перечислены его свойства, а в табл. 2 — методы.

Свойства Объекта Application

Таблица 1.

Свойство Параметры и описание

ActiveForm.Property

[ = Setting]

ActiveForm.Method Property - свойство формы.

Setting - значение свойства.

Method - метод формы.

Обеспечивает ссылку на активную форму или объект SCREEN

AutoYield [ = IExpr ] IExpr по умолчанию равен .Т., что предусматривает приоритет событий Windows. Значение .F. предотвращает прерывание выполнения кода Visual FoxPro. При этом события Windows ставятся в очередь. Определяет способ обработки событий Windows.

Caption [ = cText ] cText - текст заголовка.

Определяет заголовок окна приложения.

DefaultFilePath [ = сPath ] сPath - обозначение устройству каталога или путь.

Определяет каталог по умолчанию для приложения.

Определяет путь и имя файла для запуска копии Visual FoxPro.

Height [ = nHeight ] nHeight - высота окна приложения. Определяет высоту окна приложения.

Let [ = nDist ] nDist - расстояние от левого края.

Определяет расположение окна приложения относительно левого края.

Name [ = cName] cName - имя объекта.

Задает имя объекта для ссылки в коде программы.

OLERequestPendingTimeOut

[ = Nmilliseconds ] Nmilliseconds - величина задержки в миллисекундах, которая по умолчанию равна 5000 мс. Если параметр равен 0, то сообщение не появляется.

Определяет задержку, которая происходит перед появлением сообщения о том, что система занята в процессе выполнения запроса OLE Automation, если пользователь использует клавиатуру или мышь.

OLEServerRaiseError [ = lExpression ] lExpression по умолчанию равен .F. - сообщение об ошибке будет появляться. Если параметр равен .Т., сообщения будет.

Определяет появление сообщения об ошибке, когда истекает время, установленное в свойстве OLEServerBusyTimeout.

OLEServerBusyTimeout [ = Nmilliseconds ] nMilliseconds - величина задержки в миллисекундах до по¬явления сообщения о том, что сервер занят.

Определяет время, в течение которого происходит повторное выполнение запроса OLE Automation, если сервер занят.

StartMode Возвращает число, идентифицирующее тип запускаемого приложения.

StatusBar [ = cMessageText ] cMessageText - строка сообщения. Определяет текст в статус - строке приложения.

Top [ = nDist ] nDist — расстояние от верхнего края.

Определяет расположение окна приложения относительно верхнего края.

Version Возвращает в виде строки символов номер версии запускае¬мого приложения.

Visible [ = lExpr ] lExpr по умолчанию равен .F., т. е. запускаемая копия при¬ложения невидима. Если параметр lExpr равен .Т. - прило¬жение становится видимым.

Определяет, будет ли запускаемая копия приложения видима.

Width [ = nWidth ] nWidth — ширина окна приложения. Определяет ширину окна приложения.

Методы Объекта Application

Таблица 1.

Метод Параметры и описание

DataToClip ([ nWorkArea | cTableAlias ] [, nRecords ] [, nClipFormat]) nWorkArea, cTabieAlias — рабочая область или псевдоним источника данных.

nRecords — число копируемых записей. uClipFormat по умолчанию равен 1, при этом данные полей разделяются пробелами. Если параметр равен 3, данные раз¬деляются знаком табуляции.

Копирует записи в буфер обмена в виде текста, в котором каждая запись занимает отдельную строку.

DoCmd (cCommand) cCommand - выражение, представляющее команду VFP.

Позволяет выполнить команду Visual FoxPro из приложе¬ния являющегося OLE-контроллером.

Eval (cExpression) cExpression - выражение, которое необходимо преобразовать.

Преобразует выражения и возвращает его в Visual FoxPro.

Help ([cFileName] [, nContexId] [, cHelpTopic]) cFileName - имя и путь к файлу оперативной помощи. NContextID - идентификатор раздела. cHelpTopic - тема раздела.

Открывает окно с контекстной справкой.

Quit() Закрывает запущенную копию приложения Visual FoxPro.

RequestData ([nWorkArea | cTableAlias] [, nRecords]) nWorkArea, cTableAlias - рабочая область или псевдоним источника данных. nRecords - число копируемых записей.

Создает массив с данными из источника данных Visual FoxPro.

Для ссылки на объект Application можно использовать системную переменную _VFP.

Visual FoxPro 5.0 имеет следующие коллекции, которые ассоциируются с объек¬том Application:

• Forms — формы;

• Objects — объекты;

• Controls — элементы управления;

• Pages — страницы;

• Buttons — кнопки;

• Columns — колонки.

При этом обратите внимание, что эти коллекции являются коллекциями исключительно OLE-объектов и могут использоваться только с объектом Application. К этим коллекциям нельзя обращаться, используя ассоциированные переменные с включенными в них объектами. Вы должны использовать свойство Application, как это показано ниже:

oFrm = CREATEOBJECT( 'Form')

? oFrm.Application.Forms[1].Controls.Count

Если вы уже писали программы в Visual FoxPro 3.0, то приведенное выше утверж¬дение может вызвать некоторое удивление. Перечисленные коллекций были пред¬ставлены и в третьей версии, это действительно так. Но, так как Visual FoxPro 3.0 не мог выполнять функции OLE-сервера, то эти коллекции не отвечали общепринятым стандартам OLE. В первую очередь за счет того, что их свойства были доступны для изменения. Это удобно, если мы работаем с одним приложением. По-прежнему нам никто не мешает продолжать использовать эти возможности. Но, как только мы начинаем использовать приложение как OLE-сервер, т. е. обращаемся к нему из другого приложения, то должны использовать объекты Visual FoxPro как OLE-коллекции.

Например, ничто не мешает нам при создании формы в Visual FoxPro написать такой код:

Frm = CREATEOBJECT ('Form' )

? oFrm.ControlCount &&Число элементов управления в форме

Для OLE-сервера число элементов управления в форме следует определять так, как это было показано в предыдущем примере, с использованием свойства Count.

Создание OLE-сервера в Visual FoxPro

Используя Visual FoxPro 5.0, можно создать OLE-сервер, функциональность которого будет использована несколькими приложениями.

Для создания OLE-сервера используемые в нем классы должны быть описаны как OLE Public, т. е. доступные для OLE Automation. Для этого в команду DEFINE CLASS включена новая опция OLEPUBLIC. Если класс создается в Конструкторе классов, необходимо использовать соответствующий независимый переключа¬ть в диалоговом окне Class Info. Отметка класса как OLE Public позволяет Project Manager при построении приложения создавать и регистрировать данный класс как ОLЕ-сервер к которому должен получить доступ OLE-контроллер.

В Visual FoxPro вы можете создать как In-Process сервер (DLL), так и Out-of-Process сервер (ЕХЕ). Оба типа сервера при работе используют библиотеку поддержки приложений Visual FoxPro (runtime), однако существенно отливаются в использовании памяти.

Сервер ЕХЕ запускается в собственном адресном пространстве,

←предыдущая  следующая→
1 2 3 



Copyright © 2005—2007 «Mark5»