ВУЗ:
Составители:
33
1.  Изучить  библиотеку   типов  сервера  автоматизации,  открыв ее  в   интегриро-
ванном  в  среду программирования  редакторе  библиотек  типов.  Обратить 
внимание  на  сопряженные классы   объектов  автоматизации, которые предпо-
лагается  использовать,  описания  реализуемых  этими  объектами  интерфей -
сов, а  также – выяснить,  какие  из  интерфейсов   объявлены   как   интерфейсы  
по  умолчанию . 
2.  Импортировать  библиотеку   типов  в  проект  клиентского  приложения. Про-
цедура  импорта  сгенерирует   модуль описания  библиотеки  типов  на  соответ -
ствующем   языке  программирования (Object Pascal или C++), после чего  на 
него  можно  ссылаться  из  собственных  модулей   проекта (директивы   uses 
или #include соответственно).  
3.  Изучить  части  импортированного  модуля,  ответственные  за  описания  ис-
пользуемых сопряженных классов  и  интерфейсов  библиотеки  типов. Обра-
тить  внимание  на  сообщения  об  ошибках   импортирования,  включенные в 
текст   модуля в виде комментариев. 
4.  Написать  текст  программы   контроллера,  в  котором   интерфейсы   объявить 
как   экземпляры   соответствующих   классов  импортированного  модуля. Дос-
туп  к  интерфейсам   реализовать  по   правилам ,  предусмотренным  использо -
ванными классами и их   описаниями. 
Последний   из  способов  управления  серверами  автоматизации,  рекомен-
дуется  для доступа  к  диспинтерфейсам , которые сервер   не  реализует   как   дуаль-
ные.  Этот  способ  предполагает   объявление  интерфейса  в   программе  клиента 
при помощи специальных классов, описанных в модуле импортированной   биб -
лиотеки  типов, имеющих   специфические  особенности  для среды программиро-
вания (Delphi или C++Builder). 
Практические задания 
1. Доработайте  учебный пример   контроллера Microsoft Word с механиз-
мом  позднего связывания  так , чтобы   генерируемый  отчет   удовлетворял   вашему 
представлению   о   хорошем   дизайне.  Например ,  измените  цвета  и  размеры  
шрифтов, вставьте  заголовок   и  колонтитулы, разработайте  процедуру  автома-
тического  подбора ширины   колонок   таблицы   и  т . п . 
2. Доработайте  учебный пример   контроллера Microsoft Excel с механиз-
мом  позднего  связывания  так ,  чтобы   генерируемый   отчет   включал   дополни-
тельные  числовые  значения,  рассчитываемые  по  формулам  Excel.  Например, 
дополните  таблицу   итоговыми  строками,  суммирующими  значения  столбцов; 
добавьте  новые столбцы   для расчета  по  значениям   ячеек  текущих   строк,  ска-
жем , площадь, приходящаяся  на  одного человека  населения  страны , и т.п. 
3. Доработайте  учебный пример   контроллера Microsoft Excel с механиз-
мом  позднего  связывания  так , чтобы   вся  таблица  генерируемого  отчета  выво-
дилась   в  диапазон  ячеек  одним   обращением   к  диспинтерфейсу . Напомним , что 
для этого сначала необходимо сформировать  на  клиентской   стороне  двумерный 
вариантный  массив . 
                                    33
1. Изучить библиотеку типов сервера автоматизации, открыв ее в интегриро-
   ванном в среду программирования редакторе библиотек типов. Обратить
   внимание на сопряженные классы объектов автоматизации, которые предпо-
   лагается использовать, описания реализуемых этими объектами интерфей-
   сов, а также – выяснить, какие из интерфейсов объявлены как интерфейсы
   по умолчанию.
2. Импортировать библиотеку типов в проект клиентского приложения. Про-
   цедура импорта сгенерирует модуль описания библиотеки типов на соответ-
   ствующем языке программирования (Object Pascal или C++), после чего на
   него можно ссылаться из собственных модулей проекта (директивы uses
   или #include соответственно).
3. Изучить части импортированного модуля, ответственные за описания ис-
   пользуемых сопряженных классов и интерфейсов библиотеки типов. Обра-
   тить внимание на сообщения об ошибках импортирования, включенные в
   текст модуля в виде комментариев.
4. Написать текст программы контроллера, в котором интерфейсы объявить
   как экземпляры соответствующих классов импортированного модуля. Дос-
   туп к интерфейсам реализовать по правилам, предусмотренным использо-
   ванными классами и их описаниями.
     Последний из способов управления серверами автоматизации, рекомен-
дуется для доступа к диспинтерфейсам, которые сервер не реализует как дуаль-
ные. Этот способ предполагает объявление интерфейса в программе клиента
при помощи специальных классов, описанных в модуле импортированной биб-
лиотеки типов, имеющих специфические особенности для среды программиро-
вания (Delphi или C++Builder).
     Практические задания
      1. Доработайте учебный пример контроллера Microsoft Word с механиз-
мом позднего связывания так, чтобы генерируемый отчет удовлетворял вашему
представлению о хорошем дизайне. Например, измените цвета и размеры
шрифтов, вставьте заголовок и колонтитулы, разработайте процедуру автома-
тического подбора ширины колонок таблицы и т.п.
      2. Доработайте учебный пример контроллера Microsoft Excel с механиз-
мом позднего связывания так, чтобы генерируемый отчет включал дополни-
тельные числовые значения, рассчитываемые по формулам Excel. Например,
дополните таблицу итоговыми строками, суммирующими значения столбцов;
добавьте новые столбцы для расчета по значениям ячеек текущих строк, ска-
жем, площадь, приходящаяся на одного человека населения страны, и т.п.
      3. Доработайте учебный пример контроллера Microsoft Excel с механиз-
мом позднего связывания так, чтобы вся таблица генерируемого отчета выво-
дилась в диапазон ячеек одним обращением к диспинтерфейсу. Напомним, что
для этого сначала необходимо сформировать на клиентской стороне двумерный
вариантный массив.
