Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



В ранних версиях языков программирования исполняемая часть приложения часто состояла из монолитного двоичного файла(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-сервера.





Дата публикования: 2014-12-28; Прочитано: 343 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...