Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лек 006.doc
Скачиваний:
16
Добавлен:
07.02.2015
Размер:
70.14 Кб
Скачать

Доступность сом

СОМ разработана Microsoft, а поэтому первоначально была доступна под Windows и Windows NT. Теперь Microsoft предоставляет поддержку СОМ и для Macintosh. Хотя Microsoft не поддерживает СОМ на других операционных системах, этот пробел заполнен третьими фирмами. Несколько компаний — больших и малых — предоставляют реализации СОМ и основанных на ней технологий для широкого диапазона операционных систем. Программное обеспечение, разработанное с применением СОМ-объектов, будет доступно на многих системах — от рабочих станций с Windows и Windows NT до мэйнфреймов IBM, работающих под управлением MVS. И, как Вы увидите далее, Распределенная СОМ (DCOM) позволяет СОМ-объектам на всех типах систем взаимодействовать друг с другом. Возрастающая центральная роль СОМ в программном обеспечении для Windows и Windows NT в сочетании с повсеместным распространением этих систем, подсказывает, что данный новый подход к созданию программ найдет свое применение во всех областях человеческой деятельности.

Обзор технологий ActiveX и ole

Как OLE, которая теперь снова обозначает только технологии создания составных документов, так и широкий набор технологий под маркой ActiveX, разработаны с использованием СОМ. Многие из этих технологий своими корнями уходят в поддержку составных документов, тогда как другие предназначены совершенно для других целей. Данный раздел содержит краткое введение в наиболее важные технологии СОМ.

Автоматизация

Электронные таблицы, текстовые процессоры и другие программы предоставляют все виды полезных возможностей. Почему бы не обеспечить доступ к ним и другому программному обеспечению? Чтобы это стало возможным, приложения должны предоставлять свои сервисы не только человеку, но и программам — они должны быть программируемыми. Обеспечение программируемости и является цельюАвтоматизации (Automation, первоначально называвшейся OLE-автоматизацией).

Приложение можно сделать программируемым, обеспечив доступ к его сервисам через обычный СОМ-интерфейс. Однако так поступают редко. Вместо этого доступ к сервисам приложений осуществляется через диспинтерфейсы (dispinterface). Они очень похожи на интерфейсы, (у него есть методы, клиенты осуществляют к нему доступ через указатель интерфейса и т. д.), но имеют и существенные отличия. В частности, методы диспинтерфейса гораздо проще вызывать клиентам, написанным на простых языках типа Visual Basic. Это очень важно: ведь большинство людей, желающих писать программы, осуществляющие доступ к внутренним сервисам приложений, чаще всего выбирают Visual Basic и аналогичные среды.

Чтобы получить представление о возможных выгодах Автоматизации, возьмем, например, Microsoft Excel — программу с широким выбором функций, используемых теми, кто непосредственно работает с Excel. Безусловно, на встроенном в нее макроязыке можно написать целые приложения, использующие функции Excel.

Однако сегодня Microsoft Excel поддерживает Автоматизацию, а это значит, его внутренние сервисы доступны через диспинтерфейсы, поддерживаемые различными СОМ-объектами, предоставляющими методы, скажем, для вычисления среднего значения, проверки правописания и многие другие. Приложения, надстраиваемые над Excel, более не ограничены применением внутреннего макроязыка этой программы, но напротив, могут быть написаны практически на чем угодно. Ныне Excel — не только инструмент для конечных пользователей, но и набор инструментов для разработчиков приложений.

Программируемый доступ к внутренним сервисам посредством Автоматизации поддерживается и рядом других приложений. Именно эта возможность легкого доступа к мощным средствам существующих приложений делает Автоматизацию одной из наиболее широко используемых технологий на основе СОМ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]