Разработка и использование приложений с помощью ActiveX
Задачи:
1. Рассмотреть принципы технологии ActiveX;
2. Рассмотреть принципы работы с COM-объектами;
3. Изучить подходы по разработке OLE-объектов;
4. Написать приложение Windows Forms с использованием ActiveX по взаимодействию с Excel-листами на языке С#
Технология ActiveX компании Microsoft — это один из шагов к более совершенным, то есть более надежным и эффективным программам. Она предоставляет программистам наборы стандартных библиотек, значительно облегчающих процесс кодирования. В основе данной технологии лежит очень простая идея, позволяющая существенно повысить эффективность программирования.
В объектно-ориентированном программировании в качестве основных логических конструктивных элементов используются объекты, а не алгоритмы. Причём каждый объект является экземпляром определенного класса, а классы образуют иерархии. Программа считается объектно-ориентированной, только если выполнены все эти требования.
Инкапсуляция, наследование и полиморфизм — фундаментальные свойства, которыми должен обладать язык, претендующий называться объектно-ориентированным. Различные объектно-ориентированные языки используют совершенно разные подходы.
В объектно-ориентированном подходе основная категория объектной модели - класс - объединяет в себе на элементарном уровне как данные, так и операции, которые над ними выполняются (методы). Разделение процессов и данных преодолено, однако остается проблема преодоления сложности системы, которая решается путем использования механизма компонентов.
В C# работа с объектами классов и структур внешне выглядит похоже:
MyClass obj1 = new MyClass();
obj1.Method1();
MyStruct1 obj2 = new MyStruct("Hello!");
obj2.Method2();
MyStruct2 obj3;
obj3.Method3();
Память под объект структуры выделяется статически, поэтому вызов конструктора перед вызовом метода не является обязательным.
Рассмотрев основные принципы работы технологии ActiveX, можно сделать вывод, что популярность данной технологии среди программистов Desktop-приложений и разработчиков веб-сайтов возрастает. Для просмотра страниц, содержащих медиафайлы, пользователь должен самостоятельно найти и установить необходимое для этого программное обеспечение. С ActiveX программы в автоматическом режиме загружаются при открытии страницы, более того, в расчет принимается платформа, на которой работает пользователь (Windows, Mac OSX, Unix). Однако отсутствие многоплатформенной поддержки сильно ограничивает ее применение на Web-узлах Internet. Кроме того, изъяны в модели безопасности делают использование ActiveX в Internet весьма проблематичным.
Рассмотрев принципы работы с моделью компонентного объекта (СОМ), можно сделать вывод, что COM является основой таких технологий, как OLE и ActiveX. СОМ наряду с независимостью от расположения предоставила для программных компонентов независимый от языка программирования стандарт: размещение программных модулей независимо от решаемых задач и используемых для этого компьютеров. OLE и ActiveX представляют собой надстроенные над СОМ технологии прикладного уровня. СОМ-объекты инкапсулируют функциональные возможности посредством предоставления хорошо отработанного интерфейса. СОМ-объекты могут быть реализованы практически на любом языке программирования.
Изучив подходы по разработке OLE-объектов, можно сделать вывод, OLE позволяет увеличить степень интеграции между программными модулями и служит основой для создания множества взаимозаменяемых компонентов программного обеспечения.
Сравнив возможности связывания и внедрения OLE-объектов в среде Windows, было написано приложение Windows Forms по решению системы уравнений на языке C# с использованием связанного Excel-документа, что позволило оптимизировать программный код за счет использования стандартных функций Excel по работе с матрицами (МОБР(), МПРОИЗ()).
Как видим, довольно сложные задачи можно решать при помощи коротких программ благодаря обращению к функциям MS Excel. Причем на компьютере, где будет работать данная программа, вовсе не обязательно должен быть инсталлирован MS Excel. Однако инсталляционный пакет программы должен содержать соответствующую dll-библиотеку.
2. Что такое ActiveX [Электронный ресурс]. - http://pcsecrets.ru/brauzery-i-poisk-v-internet/chto-takoe-activex.html
3. Введение в технологии OLE и ActiveX [Электронный ресурс]. - http://www.rusdoc.ru/material/lang/other/activex/active.shtml
4. Технология ActiveX [Электронный ресурс]. -http://www.osp.ru/cw/1997/27/22102/