ВУЗ:
Составители:
20
его методов использовать стандартный маршалинг параметров при помощи
упаковки в Variant. Наконец, описания свойств и методов интерфейса содер -
жат всю необходимую для их использования информацию : диспетчерские
идентификаторы (DISPID) специфицированы ключевым словом id, типы
свойств (в нашем случае Documents и ActiveDocument) снабжены специфи-
каторами типов и всеми необходимыми атрибутами, методы (у нас – Quit,
Move и Resize) – списками параметров вызова.
После изучения содержимого библиотеки типов в редакторе можно пере-
ходить к процедуре ее импорта в проект разрабатываемого клиентского прило-
жения. Запускается процедура из меню Project→ Import Type Library. В диало-
говом окне « Import Type Library» необходимо выбрать нужную библиотеку из
готового списка, перечисляющего установленные на вашем компьютере серве-
ры автоматизации (в нашем примере – Microsoft Word). Либо указать конкрет -
ный файл библиотеки (MSWORD9.OLB), нажав кнопку « Add» . Поскольку мы хо-
тим ограничиться лишь созданием импортированного модуля, снимем флажок
« Generate Component Wrapper» , зададим каталог для записи файлов генери-
руемого модуля в строке ввода «Unit dir name» и нажмем кнопку « Create Unit» .
По завершении процедуры импорта, выполнение которой может занять некото-
рое время из- за больших размеров генерируемых файлов, к проекту будет при-
соединен вновь созданный модуль Word_TLB.pas.
Важное замечание. Описанная процедура импорта может потребовать
деинсталляции компонентов вкладки « Servers» палитры , если таковые установ -
лены на вашем компьютере. Дело в том , что все эти компоненты получены
именно путем импортирования библиотек типов соответствующих серверов ав -
томатизации и среда Delphi не считает возможным повторять эту процедуру.
Если вы все- таки хотите ее пройти, вам необходимо вызвать диалог из меню
Component→ Install Packages и снять флажок напротив пакета, в который соот-
ветствующие компоненты были установлены .
Одновременно с импортированным модулем Word_TLB.pas могут быть
созданы и другие файлы. Например , в нашем случае их два: Office_TLB.pas
и VBIDE_TLB.pas. Последнее означает , что импортированная библиотека ти-
пов содержала ссылки на другие файлы, следовательно, импортированный в
проект модуль – также содержит соответствующие ссылки:
uses Office_TLB, VBIDE_TLB; // в файле Word_TLB.pas
Включать эти дополнительные модули в проект не нужно, поскольку разраба-
тываемые вами модули будут использовать описания только из Word_TLB.pas.
Не забудьте для этого вставить соответствующие ссылки:
uses Word_TLB; // в ваших модулях
Рассмотрим импортированный модуль более подробно. Заметим , что при
просмотре его содержимого неоценимую помощь оказывает дерево « Code
Explorer» , поскольку объем модуля достаточно велик (более мегабайта на моем
компьютере). Прежде всего, необходимо обратить внимание на ошибки импор-
20 его методов использовать стандартный маршалинг параметров при помощи упаковки в Variant. Наконец, описания свойств и методов интерфейса содер- жат всю необходимую для их использования информацию: диспетчерские идентификаторы (DISPID) специфицированы ключевым словом id, типы свойств (в нашем случае Documents и ActiveDocument ) снабжены специфи- каторами типов и всеми необходимыми атрибутами, методы (у нас – Quit, Move и Resize) – списками параметров вызова. После изучения содержимого библиотеки типов в редакторе можно пере- ходить к процедуре ее импорта в проект разрабатываемого клиентского прило- жения. Запускается процедура из меню Project→Import Type Library. В диало- говом окне «Import Type Library» необходимо выбрать нужную библиотеку из готового списка, перечисляющего установленные на вашем компьютере серве- ры автоматизации (в нашем примере – Microsoft Word). Либо указать конкрет- ный файл библиотеки (MSWORD9.OLB ), нажав кнопку «Add». Поскольку мы хо- тим ограничиться лишь созданием импортированного модуля, снимем флажок «Generate Component Wrapper», зададим каталог для записи файлов генери- руемого модуля в строке ввода «Unit dir name» и нажмем кнопку «Create Unit». По завершении процедуры импорта, выполнение которой может занять некото- рое время из-за больших размеров генерируемых файлов, к проекту будет при- соединен вновь созданный модуль Word_TLB.pas . Важное замечание. Описанная процедура импорта может потребовать деинсталляции компонентов вкладки «Servers» палитры, если таковые установ- лены на вашем компьютере. Дело в том, что все эти компоненты получены именно путем импортирования библиотек типов соответствующих серверов ав- томатизации и среда Delphi не считает возможным повторять эту процедуру. Если вы все-таки хотите ее пройти, вам необходимо вызвать диалог из меню Component→Install Packages и снять флажок напротив пакета, в который соот- ветствующие компоненты были установлены. Одновременно с импортированным модулем Word_TLB.pas могут быть созданы и другие файлы. Например, в нашем случае их два: Office_TLB.pas и VBIDE_TLB.pas . Последнее означает, что импортированная библиотека ти- пов содержала ссылки на другие файлы, следовательно, импортированный в проект модуль – также содержит соответствующие ссылки: uses Office_TLB, VBIDE_TLB; // в файле Word_TLB.pas Включать эти дополнительные модули в проект не нужно, поскольку разраба- тываемые вами модули будут использовать описания только из Word_TLB.pas . Не забудьте для этого вставить соответствующие ссылки: uses Word_TLB; // в ваших модулях Рассмотрим импортированный модуль более подробно. Заметим, что при просмотре его содержимого неоценимую помощь оказывает дерево «Code Explorer», поскольку объем модуля достаточно велик (более мегабайта на моем компьютере). Прежде всего, необходимо обратить внимание на ошибки импор-
Страницы
- « первая
- ‹ предыдущая
- …
- 18
- 19
- 20
- 21
- 22
- …
- следующая ›
- последняя »