ActiveX с нуля

         

Эта работа предназначена для тех


Эта работа предназначена для тех студентов, кто умеет писать приложения еа Visual C++ с использованием MFC, сталкивался с элементами ActiveX и хочет создавать свои элемент ActiveX.
Вначале Вы познакомитесь с общими принципами COM - моделей (Component Object Model) и поймете то место, которое занимают ActiveX в этой модели, затем Вы практически построите вместе с автором простой элемент ActiveX c использованием MFC, постепенно усложняя его, примените все основные приемы создания элементов ActiveX ( в приложении 1 приводятся исходные тексты файлов построенного ActiveX ). Далее рассматриваются созданные с помощью MFC классы, и описывается их содержимое. В работе также приводится материал, обобщающий все приемы построения ActiveX c помощью MFC.
После выполнения практических действий по созданию элемента ActiveX Вы получите навыки в построении элементов с помощью MFC в среде Visual C++ 5.0, 6.0.
ActiveX – это набор технологий, которые позволяют программным компонентам взаимодействовать друг с другом по сети или на локальной машине вне зависимости от того, на каком языке они написаны. Строятся ActiveX на основе COM – модели.
COM (Component Object Model) – модель многокомпонентных объектов, определяет и реализует механизм, который позволяет программным компонентам взаимодействовать с объектами. Программный объект представляет собой набор информации и методов, позволяющих получить доступ к ней. COM – компонент позволяет получить доступ к информации исключительно через наборы методов, образующих интерфейсы.
Объект, называемый сервером, организует доступ к COM – объекту, реализуя один или несколько интерфейсов. Пользователь COM – объекта ( клиент ) получает доступ к объекту через указатели на эти интерфейсы. Клиент может иметь свободный доступ к объекту вне зависимости от языка реализации объекта. Объект будет вести себя в соответствии с его интерфейсами, даже если он выполняется в другом процессе или на другой машине, на другой операционной системе, написан на любом языке программирования или у него изменилась версия и он более новый или старый, чем тот, который вызывается клиентом.


Определяя интерфейсы как способ связи между объектами и их клиентами, COM эффективно решает проблему версии. При создании новой версии элемента Вы просто добавляете новый интерфейс к объекту, оставляя старые без изменения. Поэтому клиенты, использующие старые интерфейсы, будут спокойно работать с более новыми объектами, не вызывая новых интерфейсов.
COM – это платформо-независимая, распределенная, объектно-ориентированная система для создания двоичных программных компонентов, которые могут взаимодействовать между собой.
Так как COM – компоненты являются независимыми от языка, то они могут взаимодействовать с любыми программами, реализованными на других языках. Кроме того, они могут выполняться в любом адресном пространстве: как в том, где запущен клиент, так и в другом процессе на той же машине или даже на другой машине.
COM – это основа для построения составных документов (OLE), ActiveX и т.д. (для углубленного теоретического изучения советуем обратиться к литературе, приводимой в конце работы).
Для того, чтобы понять COM, надо иметь в виду, что это не объектно-ориентированный язык, а двоичный стандарт, определяющий, как COM-объекты взаимодействуют с другими объектами. Язык для реализации COM – объектов должен поддерживать указатели и вызывать функции через указатели.
COM определяет природу COM-объекта. COM- объект – это набор данных, доступ к которым осуществляется исключительно через набор методов, образующих интерфейсы.
COM определяет базовые интерфейсы, которые обеспечивают методы, общие для всех COM – технологий. Кроме того, COM обеспечивает набор API-функций, которые требуются для всех компонентов, а также позволяют компонентам взаимодействовать через сеть и обеспечивает защиту программных систем.
COM – компонент поддерживает двоичный стандарт, поэтому он может быть реализован с помощью любого языка программирования. Объектно-ориентированные языки идеально подходят для создания COM-элементов.

Содержание раздела