Учебные материалы по математике | Компонентные приложения. особенности компонент visual basic | Matematiku5
Вузы по математике Готовые работы по математике Как писать работы по математике Примеры решения задач по математике Решить задачу по математике online

Компонентные приложения. особенности компонент visual basic


3. В 1996 году Microsoft начала распространение технологии OLE на Internet-приложения. Теперь то, что ранее именовалосьOLE-объект, стало называться объектом ActiveX, а OLE Automation–ActiveX Automation. В результате чего управляющие элементы ActiveX стали выполняться не только в среде Windows, но и в Internet.

При этом спецификация COM была доработана и расширена «правилами поведения» между программными объектами и средой взаимодействия Internet. Ей дали новое имя –DCOM (DistributedСОМ).

27. Компонентные приложения. Особенности компонент.

В ранних версиях языков программирования исполняемая часть приложения часто состояла из монолитного двоичного файла(Turbo Pascal, Turbo Си). При этом разработчикам приложения приходилось вносить изменения и перекомпилировать свои приложения. И они начали искать способы продления периода существования уже созданных приложений. Решением этой проблемы явилось разбиение монолитного приложения на отдельные части или компоненты. По мере совершенствования технологии старые компоненты приложения стали заменяться более эффективными, новыми компонентами. Из существующих компонент можно было быстро построить новое компонентное приложение, подобное строительным блокам. Компонент подобен мини-приложению и предоставляет некоторые функциональные возможности. Он поставляется виде упакованной (скомпилированной и скомпонованной) порции двоичного кода, который полностью готов к соединению с другим двоичным кодом (компонентом) в режиме выполнения. Компоненты обеспечиваются COM-серверами, представленными физическими файлами .exe, .dll или .ocx на диске и содержат классы, на основе которых создаются объекты. COM-серверы могут быть построены из одного или нескольких компонент. При создании компонента программист свободен в выборе языка (Visual C++, Delphi, VisualBasic). Для разработчиков приложений, использующих компонент, внутренняя его организация недоступна. Они лишь взаимодействуют с компонентом через один или несколько интерфейсов.

Интерфейс компонента–это средства (свойства, методы, события), с помощью которых COM-клиент общается с COM-сервером. Для программного управления объектом COM (сервером автоматизации) надо выполнить следующие действия. •Создать объектную переменнуюв OLE-клиенте, используя режим раннего или позднего связывания.

  •Использовать эту переменную для доступа к объектам, находящимся в приложениях – источниках (OLE-сервере).

  •По завершении работы с объектом присвоить переменной значение Nothing, освобождая память, отводимую под переменную.

Чтобы компонент Public-класса стал доступным для OLE-клиентов, он должен зарегистрироваться в операционной системе, модифицируя раздел HKEY_CLASSES_ROOT системного реестра Windows, внося туда информацию относительно себя. (Просмотреть информацию в системном реестре можно из приложения regedit. exe. Эта информация включает: программный идентификатор (ProgID), представляющий описательное имя компонента, идентификатор класса (ClsID) и расположение библиотеки типов. Идентификатор класса содержит 128-битовые числа, которые генерируются с использованием специального алгоритма Microsoft, гарантирующего уникальность. Идентификаторы (ProgID, ClsID) нужны для того, чтобы операционная система смогла определить, в каком каталоге расположен файл сервера автоматизации (библиотека типов), и запустить его на выполнение. ОкноприложенияRegedit. exe Вся информация об объектах, необходимая контроллерам автоматизации, содержится в библиотеках типов (COM-серверах). Напомню, что библиотеки типов хранятся в специальном бинарном формате виде файлов с расширениями *.olb, *.tlb, *.exe, *.dll, *.осх. Содержимое библиотек типов можно просматривать (определять ProgID и ClsID) с помощью утилит OleView и Ole2vw32, входящих в пакет Visual Basic. При компиляции приложения-клиента идентификаторы классов и интерфейсы компонентов COM-сервера включаются в исполняемый файл. В период же выполнения приложение-клиент использует информацию из реестра для вызова компонента COM-сервера.

28. Интеграция приложений средством Automation.

В табл.29 представлены некоторые приложения и их программ­мные идентификаторы (ProgID), используемые при программирова­нии объектов Automation. В общем случае идентификатор ProgID состоит из имени приложения, типа или класса объекта, отделенных точкой.

Таблица 29

Приложение

Тип объекта

Идентификатор (ProdId)

Примечание

Excel

Application

Excel. Application

Объект Excel – рабочая книга

Excel

WorkBook

Excel. Sheet

Объект Excel – лист рабочей книги

Excel

WorkBook

Excel. Chart

Объект Excel – диаграмма на листе, связанная с данными другого листа

Word

Application

Word. Application

Объект Word

Word

Document

Word. Document

Объект документ Word

Access

Application

Access. Application

Объект Access

PowerPoint

Application

PowerPoint. Application

Объект PowerPoint

OutLook

Application

OutLook. Application

Объект OutLook

Internet Explorer

Application

InternetExplorer. Application

Объект InternetExplorer

Для доступа к объектам Automation (объектам COM) обычно используют функцию CreateObject. Синтаксис ее следующий:

CreateObject (Class, [ServerName]),

 где Class – имя объекта Automation;

ServerName используется только при создании объекта Automation в сети и указывает на имя сервера, где установлено приложение-сервер (объект COM).

29. Объектная модель MS Word. Свойства и методы объекта Application модели MS Word. Пример.

ObjMod1

Коллекции, входящие в состав объектной модели, представляют собой списки однотипных по способу создания и размещения объектов (документов, абзацев, таблиц, предложений и т. д.), доступ к которым осущ-ся по индексу (все коллекции в объектных моделях заканчиваются буквой «s»). Элемент коллекции может содержать объекты и коллекции, а отдельный объект –коллекции. Например, документом коллекции Documents является объект Document, а каждая таблица содержит коллекции строк (Rows) и столбцов (Colunms) и объект типа «ячейка»(Cell). Доступ к любому объекту или коллекции возможен через корневой объект Application. Так, например, объект Paragraph не может быть создан отдельно от содержащего его документа. Коллекции также могут содержать и элементы различные по содержанию. Например, коллекция форм может содержать текстовое поле (TextBox), OLE-объект и т. д. Используя коллекции, свойства и методы объекта Application, можно создавать, открывать, редактировать и форматировать документы. Полностью объектная модель MS Word описана в файле справки VBAWDxx. CHM, где xx–число, определяющее версию продукта. Ниже приведены фрагменты кода, которые часто используются при работе с объектами модели MS Word.-

Пример. Создать программный код, выполняющий проверку орфографии текста в приложении MS Word, а также подсчитать количество слов в тексте.

Private Sub Command1_Click()

Dim wordCount As Long

Const wdDoNotSaveChanges As Integer =0, _

wdAlertsNoneAs Integer = 0

Const wdStatisticWordsAs Integer = 0’слов

‘ОписываемпеременнуютипаObject(позднее’связывание) исоздаемобъектнабазекласса’Word. Application

Dim vWordAs Object

Set vWord= CreateObject("Word. Application")

With vWord

.Visible= False’Приложение Word невидимо

.DisplayAlerts= wdAlertsNone ‘Запрещаем диалоги

.Documents.Add‘Открытие нового документа

‘Копируем содержимое поля в документ

.Selection. Text= Text1

‘Запускаем проверку орфографии

.ActiveDocument.CheckSpelling

s = .Selection. Text’Копируем результат обратно

‘Для многострочного текста

Text1 = Replace(s, Chr(13), vbCrLf)

With.ActiveDocument

wordCount= .ComputeStatistics(Statistic:=wdStatisticWords)

.CloseSaveChanges:=wdDoNotSaveChanges

End With’Закрываем Без сохранения

.Quit

End With

Set vWord= Nothing

‘Разрываем связь объекта с приложением Word

MsgBox"Количество слов в тексте= " &_

CStr(wordCount)

End Sub

Private Sub Form_Load()

Text1 = "":Command1.Caption = "Word"

Text1.TabIndex = 0

Caption= "Работа с объектом-серверомMS Word"

End Sub

Функция CreateObject динамически создает новый объект на базе класса Word. Application (он загружается в память). Программа также будет работать, если вместо этой строки записать:Set vWord= New Word. Application, Но только перед запуском программы необходимо самим загрузить в память библиотеку MS Word11.0 Object Library командой ProjectReferences. В процессе выполнения программа проверки орфографии выявит ошибки и предложит возможные варианты. После того, как Вы выберите правильный вариант исправления или сами исправите ошибку, или ее пропустите, окно MSWord закроется и результат вернется уже без ошибок с подсчетом количества слов и других атрибутов текста.

Наташа

Автор

Наташа — контент-маркетолог и блогер, но все это не мешает ей оставаться адекватным человеком. Верит во все цвета радуги и не верит в теорию всемирного заговора. Увлекается «нефрохиромантией» и тайно мечтает воссоздать дома Александрийскую библиотеку.

Распродажа дипломных

 Скидка 30% по промокоду Diplom2020

А ты боишься COVID-19?

 Пройди опрос и получи промокод