Студопедия
rus | ua | other

Home Random lecture






Элемент управления OLE


Date: 2015-10-07; view: 462.


OLE

В. DDE

Приводится аналогичный пример; создаются 4 таблицы: student,) stipendija, sessija, prikaz; выполняются 4 запроса (), создается макрос в приложении Word (см. код, данный ниже), открываются 4 канала связи, результаты 4-х запросов по 4-м каналам связи выводятся в файлы dde621 - dde624. Пояснения к коду макроса:

· All - вывести все данные из таблиц, включая имена полей,

· FildNames,T - вывести список из 2-х строк, содержащий имена полей (первая строка) и их типы данных (вторая строка).

Sub dde62() ' макрос в приложении WordDim intChan1 As Integer, intChan2 As Integer, intChan3 As IntegerDim intChan4 As Integer, strResp1 As Variant, strResp2 As VariantDim strResp3 As Variant, strResp4 As VariantintChan1 = DDEInitiate("MSAccessquot;, quot;A:\nin;TABLE Studentquot;)intChan2 = DDEInitiate(quot;MSAccessquot;, quot;A:\nin;TABLE Stipendiumquot;)


Рис. 6.2.Таблица Pruefung

 

Рис. 6.3.Таблица Student

 

Рис. 6.4.Запрос


Рис. 6.5.Результат запроса

intChan3 = DDEInitiate("MSAccess", "A:\nin;TABLE Pruefung")intChan4 = DDEInitiate("MSAccess", "A:\nin;QUERY Befehl")strResp1 = DDERequest(intChan1, "All")strResp2 = DDERequest(intChan2, "All")strResp3 = DDERequest(intChan3, "FieldNames;T")strResp4 = DDERequest(intChan4, "All")DDETerminate intChan1: DDETerminate intChan2DDETerminate intChan3: DDETerminate intChan4Open "dde621.txt" For Output As #1Write #1, strResp1Close #1Open "dde622.txt" For Output As #1Write #1, strResp2Close #1Open "dde623.txt" For Output As #1Write #1, strResp3Close #1Open "dde624.txt" For Output As #1Write #1, strResp4Close #1End Sub

При реализации обмена данными приложений данные/наборы данных могут представлять собой связанные или внедрeнные объекты.Связывание (Link) используется, если нужно, чтобы при изменении данных в исходном файле данные в другом файле также изменялись. Внедрение используется, если нужно использовать конечный файл (на другом компьютере) и нежелательно изменение данных в нeм при изменении исходных данных

Связанный объект - это объект, созданный в одном файле и вставленный в другой файл с поддержкой связи между файлами;связанный объект не является частью файла, в который он вставлен. При обновлении исходного файла связанный объектавтоматически обновляется.

Внедрeнный объект является частью файла, в который он вставлен. При двойном щелчке на связанном объекте он открывается в приложении, в котором он был создан; при двойном щелчке на внедрeнном объекте появляется возможность редактирования его средствами текущего приложения.

Элемент управления OLE (панель элементов управления) используется для связывания /внедрения объектов в приложениях Visual Basic. Контекстное меню OLE содержит команды:

· вырезать, копировать, вставить, удалить,

· перенести

· вставить объект (имеется список объектов для выбора и возможность выбора типа вставки),

· специальная вставка - при выборе этой команды выводится диалоговое окно, где отображаются имеющиеся в наличии классы объектов. Имеется возможность сделать выбор - связь/внедрение; имеется возможность использования вместо объекта пиктограммы,

· создать связь, создать внедренный объект.

Не все команды отображаются или являются доступными; это зависит от состояния приложения и буфера обмена. Некоторые параметры элемента управления OLE даны в табл. 6.1

 

 

Таблица 6.1. Некоторые свойства, методы и события элемента управления OLE
Свойства Пояснения
Action Выполняемое действие. Недоступно во время разработки, возможны установочные значения в пределах 0 - 18; среди них: 0 - создаeт внедрeнный объект, 1 - создаeт связанный объект, 7 - открывает объект, 15 - отображает окно Специальная вставка, 18 - сохраняет OLE и т.д. Некоторые действия Action реализованы как методы
AutoActivate Определяет когда активизируется объект (после двойного щелчка, после получения фокуса и т.д.)
AutoVerbMenu Должно ли выводиться контекстное меню
Class Идентифицирует приложение, которое создаeт OLE-объект (например, Word)
HostName Содержит имя приложения, создавшего объект
ObjectVerbs Список команд, применимых к OLE-объекту
ObjectVerbsCount Количество таких команд (см. выше)
OLEType Возвращает состояние OLE-объекта в контейнере: связанный/внедрeнный
OLETypeAllowed Задание связывания, внедрения или обоих
SizeMode Возвращает и задаeт режим согласования размеров элемента управления OLE и загружаемого в него объекта
SourceDoc Имя файла, где находится объект (или который должен быть загружен в OLE-контейнер)
SourceItem Указывает на данные объекта, которые будут связаны
Verb Определяет вид действия, которое будет выполнено при активизации объекта с помощью свойства Action
UpdateOptions Когда содержимое объекта OLE может быть обновлено
Методы  
Close Закрыть объект, завершить связывание с приложением, где он был создан
Copy Копирование из контейнера OLE в буфер обмена
CreateEmbed Внедрение объекта в OLE-контейнер. CreateEmbed (Action = 0) создает внедренный объект, CreateLink(Action = 1) создает cвязанный объект
CreateLink Создание связываемого объекта, пользуясь содержимым заданного файла
Delete Удалить объект
DoVerb Открыть объект для выполнения над ним одного из действий
Paste Вставить объект в OLE-контейнер из буфера обмена
Updаte Обновление объекта в OLE-контейнере (на основании данных приложения, посредством которого объект редактируется)
События  
ObjectMove Происходит после изменений размеров или перемещения объекта, бывшего в OLE-контейнере
Updated Происходит после изменения данных в объекте

Приложение OLE-сервер определяет множество операций (команд), которые могут выполняться над поставляемым им объектом. Каждый объект поддерживает собственный набор команд. Этот набор может изменяться во время работы приложения. OLE-объект получает список команд от приложения-сервера и доступ к этому списку команд осуществляет через свои свойства (AutoVerbMenu, Verb, ObjectVerbs, ObjectVerbsCount ). Эти свойства доступны во время выполнения.


<== previous lecture | next lecture ==>
А. DDE. Простейший пример обмена данными | Перетаскивание данных (тексты, рисунки, таблицы, деревья файлов и т.д.) с использованием OLE
lektsiopedia.org - 2013 год. | Page generation: 0.003 s.