При решении многих задач часто можно обнаружить, что "все уже сделано за нас": существуют программы, выполняющие необходимые нам функции. Например, если вашей программе надо выводить данные "в красивом виде" и с возможностью печати, то с такой задачей прекрасно справляется Microsoft Word. Если необходимо выводить график или векторное изображение, то для этого прекрасно подходит AutoCAD и т.д. Программирование в своей задаче вывода текста и графики на печать или своего векторного редактора – дело трудоемкое и неблагодарное, а главное, бессмысленное: все равно лучше, чем в Word и AutoCAD, вряд ли получится.
Для использования мощных возможностей "чужих" программ в собственных разработках в ОС Windows применяется так называемая COM-технология. COM означает Common Object Interface (общий интерфейс объектов). Идея COM-технологии состоит в том, что ваша программа может импортировать так называемую библиотеку типов внешнего приложения и получить доступ к используемым в этом приложении объектам, их свойствам и методам. Вызывая на выполнение из своей программы (СОМ-клиента) методы объектов другой программы (СОМ-сервера), можно выполнять самые разнообразные функции (Рис. 22.1). При этом сам СОМ-сервер в явном виде не запускается: можно сформировать сложный документ в Word и сохранить его в файле совершенно незаметно для пользователя.
Рис. 26.1. Создание приложения по СОМ-технологии.
СОМ-серверами являются большинство распространенных программ: все компоненты пакета Microsoft Office всех версий, AutoCAD, Компас, Visio, SolidWorks… Таким образом, создатели этих программ предусматривают использование функциональности, заложенной в их творения, сторонними разработчиками. Осталось научиться это делать.