Распределенные приложения: контроллеры автоматизации. Часть 2. Фертиков В.В. - 34 стр.

UptoLike

Составители: 

34
4. Доработайте учебный пример контроллера Microsoft Excel с механиз-
мом позднего связывания так , чтобы генерируемый отчет удовлетворял вашему
представлению о хорошем дизайне. Например , измените цвета и размеры
шрифтов, вставьте заголовок , поэкспериментируйте с цветами заливки ячеек,
стилями их рамок и т. п.
5. Разработайте контроллер Microsoft Word с механизмом позднего свя-
зывания, подобный рассмотренному в пособии генератору отчетов, но с ис-
пользованием упомянутого объекта Word.Basic . Тем самым вы обеспечите
совместимость реализованного контроллера с прежними версиями сервера:
Word version 6.0 и Word for Windows 95.
6. Разработайте контроллер автоматизации, использующий механизм
позднего связывания одновременно с двумя серверами: Microsoft Word и Excel;
для решения следующей задачи. Таблица в книге Excel должна быть скопиро-
вана в документ Word и соответствующим образом отформатирована. При же-
лании можно комбинировать различные варианты механизмов связывания с
серверами автоматизации.
7. Разработайте контроллер с механизмом позднего связывания для любо -
го доступного вам сервера автоматизации, не описанного в данном пособии.
Например , Microsoft Access, Outlook, PowerPoint или др.
8. Разработайте контроллер автоматизации Microsoft Word или Excel, по-
добный рассмотренным в пособии генераторам отчетов , но с использованием
механизма раннего связывание через диспинтерфейс описанным в пособии спо-
собом обращения к свойствам и методам диспинтерфейса через
IDispatch:Invoke.
9. Воспользуйтесь компонентами вкладки « Servers» палитры , получен-
ными путем импортирования библиотек типов соответствующих серверов ав -
томатизации, для разработки контроллера автоматизации Microsoft Word или
Excel, подобного рассмотренным в пособии генераторам отчетов . Сравните за-
траты на реализацию такого контроллера с описанными в пособии способами.
10. Разработайте контроллер автоматизации Microsoft Word или Excel,
реализующий обработку каких - либо событий , возникающих на сервере. На-
пример , выделение абзаца Word или диапазона ячеек Excel и т.п. Вам необхо-
димо изучить COM-технологию «объектов с подключением» (Connectable Ob-
jects), обеспечивающей механизм событий в модели COM. Затем , просматривая
библиотеку типов сервера, выбрать требующийся вам исходящий интерфейс
(outgoing interface) и реализовать на клиенте соответствующий ему объект–
приемник событий (event sink). Например , сервер Excel поддерживает исходя-
щий интерфейс IAppEvents с большинством используемых на практике собы -
тий . Реализация приемника при помощи рассматриваемых в пособии инстру-
ментальных средств не представляет затруднений . Например , библиотека
C++Builder содержит специальный шаблон классов TEventDispatcher (см .
уже использованный нами заголовочный файл utilcls.h), который удобно
использовать в качестве базового при разработке путем наследования собст-
венного класса приемника.
                                     34
       4. Доработайте учебный пример контроллера Microsoft Excel с механиз-
мом позднего связывания так, чтобы генерируемый отчет удовлетворял вашему
представлению о хорошем дизайне. Например, измените цвета и размеры
шрифтов, вставьте заголовок, поэкспериментируйте с цветами заливки ячеек,
стилями их рамок и т.п.
       5. Разработайте контроллер Microsoft Word с механизмом позднего свя-
зывания, подобный рассмотренному в пособии генератору отчетов, но с ис-
пользованием упомянутого объекта Word.Basic . Тем самым вы обеспечите
совместимость реализованного контроллера с прежними версиями сервера:
Word version 6.0 и Word for Windows 95.
       6. Разработайте контроллер автоматизации, использующий механизм
позднего связывания одновременно с двумя серверами: Microsoft Word и Excel;
для решения следующей задачи. Таблица в книге Excel должна быть скопиро-
вана в документ Word и соответствующим образом отформатирована. При же-
лании можно комбинировать различные варианты механизмов связывания с
серверами автоматизации.
       7. Разработайте контроллер с механизмом позднего связывания для любо-
го доступного вам сервера автоматизации, не описанного в данном пособии.
Например, Microsoft Access, Outlook, PowerPoint или др.
       8. Разработайте контроллер автоматизации Microsoft Word или Excel, по-
добный рассмотренным в пособии генераторам отчетов, но с использованием
механизма раннего связывание через диспинтерфейс описанным в пособии спо-
собом обращения к свойствам и методам диспинтерфейса через
IDispatch:Invoke .
       9. Воспользуйтесь компонентами вкладки «Servers» палитры, получен-
ными путем импортирования библиотек типов соответствующих серверов ав-
томатизации, для разработки контроллера автоматизации Microsoft Word или
Excel, подобного рассмотренным в пособии генераторам отчетов. Сравните за-
траты на реализацию такого контроллера с описанными в пособии способами.
       10. Разработайте контроллер автоматизации Microsoft Word или Excel,
реализующий обработку каких-либо событий, возникающих на сервере. На-
пример, выделение абзаца Word или диапазона ячеек Excel и т.п. Вам необхо-
димо изучить COM-технологию «объектов с подключением» (Connectable Ob-
jects), обеспечивающей механизм событий в модели COM. Затем, просматривая
библиотеку типов сервера, выбрать требующийся вам исходящий интерфейс
(outgoing interface) и реализовать на клиенте соответствующий ему объект–
приемник событий (event sink). Например, сервер Excel поддерживает исходя-
щий интерфейс IAppEvents с большинством используемых на практике собы-
тий. Реализация приемника при помощи рассматриваемых в пособии инстру-
ментальных средств не представляет затруднений. Например, библиотека
C++Builder содержит специальный шаблон классов TEventDispatcher (см.
уже использованный нами заголовочный файл utilcls.h ), который удобно
использовать в качестве базового при разработке путем наследования собст-
венного класса приемника.