Пятница, 17.05.2024, 14:50
Главная Регистрация RSS
Приветствую Вас, Гость
Главная » Delphi и Microsoft Office » Подключение в приложение и активизация серверов СОМ. Часть 1
19:34

Подключение в приложение и активизация серверов СОМ. Часть 1

Начиная с Delphi 5, взаимодействие с Word, Excel и многими другими распространенными программами, входящими в стандартную установку Windows и Microsoft Office, может осуществляться из приложений Delphi с помощью компонентов-серверов СОМ, размещенных в библиотеке на странице Servers. Эти компоненты отображают множество импортируемых серверов СОМ. Все они являются потомками своего базового класса TOleServer. В этом классе объявлены абстрактные методы и свойства, позволяющие устанавливать связь с сервером. Поэтому объекты класса TOleServer нельзя создавать непосредственно. В приложениях используются только потомки этого класса — конкретные серверы СОМ.

Компоненты страницы Servers различны для Microsoft Office 97 и Microsoft Office 2000/ XP. Впрочем, можно обойтись и без этих компонентов, просто создавая в своем приложении объекты соответствующих классов. При этом надо учитывать, что, начиная с в Delphi 6, имеется по несколько модулей на каждый класс серверов. Например, для сервера Excel это модули Excel 97 и Excel 2000. Как не трудно догадаться, первый из них относится к Microsoft Office 97, а второй - к Microsoft Office 2000. Аналогично для сервера Word имеются модули Word97 и Word2000. Начиная с Delphi 7, еще добавлены модули для Windows XP: ExcelXP, WordXP и др. Но начиная с Delphi 2005, модули, относящиеся к Microsoft Office 97, исчезли, и остались только модули для Windows 2000 и Windows XP.

Когда вы устанавливаете Delphi, вам задается вопрос, для какой версии Office - 97, 2000 или ХР надо проводить установку. В зависимости от того, какой вариант вы выбрали, страница Servers в палитре компонентов будет отображать компоненты соответствующего пакета. В последующим вы можете при желании в любой момент изменить сделанный выбор.

Сменить активный пакет, определяющий состав страницы библиотеки Servers можно следующим образом. Выполните команду Component | Install Packages, или выполните команду Project | Options и в открывшемся окне перейдите на страницу Packages.

В открывшемся окне надо найти в списке Design packages строку, в которой в виде комментария написано «Microsoft Office XP Sample Automation Server Wrapper Components» (такая строка будет, если при установке Delphi вы указали версию Office XP), и выключить индикатор в этой строке. Тем самым вы снимете соответствующий пакет с регистрации в системе. При этом будет показано диалоговое окно с запросом, надо ли удалить пакет из списка пакетов времени выполнения. Ответьте на этот запрос отрицательно.

После этого щелкните на кнопке Add и добавьте вместо отключенного новый пакет. Для серверов Microsoft Office доступны следующие пакеты, размещенные в каталоге ...\Bin:

офис строка описанияверсия Delphiфайл
Office 97Microsoft Office 97 Sample Automation Server Wrapper Components7dclaxserver70.bpl
Office 2000Microsoft Office 2000 Sample Automati- on Server Wrapper Components7dcloffice2k70.bpl


2005 dcloffice2k90.bpl


2006 dcloffice2k100.bpl
Office XPMicrosoft Office XP Sample Automation Server Wrapper Components7dclofficexp70.bpl


2005dclofficexp90.bpl


2006 dclofficexp100.bpl

В зависимости от того, какой из этих пакетов у вас подключен (имя пакета вы можете видеть в строке под списком Design packages), добавьте недостающий. В Delphi 7 можете, сняв индикатор около добавленного пакета, добавить аналогичным образом и третий пакет. В заключение включите индикатор у того пакета, который хотите использовать по умолчанию. И полезно включить индикатор Defaul в нижнем левом углу окна. Если вы включите Defaul, то версии Delphi, предшествующие Delphi 2005, будут далее работать нормально. А версии Delphi 2005 и 2006 при очередной загрузке Delphi выдадут замечание, что такой-то пакет не может быть зарегистрирован, так как аналогичные компоненты уже зарегистрированы. При этом вам будет задан вопрос, надо ли в следующий раз повторять попытку загрузки. Если вы ответите на этот вопрос отрицательно, то в дальнейшем подобные замечания выдаваться не будут.

Подобную операцию надо осуществить только один раз. В дальнейшем для смены пакета вы просто выключаете индикатор используемого пакета, и затем включаете индикатор другого.

Категория: Delphi и Microsoft Office | Просмотров: 2036 | Добавил: PeKpyT | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]