OLE VFP

При коллективное работе с данными OLE-сервер должен обрабатывать вызовы всех пользователей компьютерной сети и, следовательно, должен находиться на сервере, а

OLE VFP

Информация

Компьютеры, программирование

Другие материалы по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией

 

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

 

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

 

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

 

 

 

 

 

 

 

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

тема:

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

 

 

 

 

 

 

 

 

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

Маштак О.Н.

 

Проверил:

 

 

 

 

 

 

 

 

 

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

Содержание:

 

  1. Visual FoxPro как OLE-сервер2
  2. Создание OLE-сервера в Visual FoxPro7
  3. OLE-сервер в компьютерной сети11
  4. Automation Manager14
  5. Remote Automation Connection Manager15

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

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

Эта новая возможность существенно расширяет возможности использования Visual 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.MethodProperty - свойство формы.

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), однако существенно отливаются в использовании памяти.

Сервер ЕХЕ запускается в собственном адресном пространстве, и в этом плане его запуск ничем не отличается от запуска копии Visual FoxPro.

Сервер DLL использует адресное пространство того приложения, которое инициировало его запуск. Поэтому он запускается и работает быстрее. Естественно стремление использовать в первую очередь именно такой тип сервера, однако не всегда мы можем так поступить. Сервер DLL не может использоваться как внешний сервер OL

Похожие работы

1 2 3 > >>