ВУЗ:
Составители:
18
тупной информацию о типах на этапе компиляции. Другими словами, исполь-
зуя библиотеку типов в двоичном формате, среда программирования автомати-
чески генерирует исходный текст на соответствующем языке программирова-
ния (Object Pascal или C++) специальных модулей , на которые можно будет
ссылаться из остальных модулей , составляющих проект. Такая процедура имеет
общее название (из терминологии распределенных вычислений ) – отображе-
ние к языку программирования.
Изучение библиотеки типов незнакомого сервера автоматизации мы ре-
комендуем начинать с ее просмотра в редакторе библиотеки типов. Поскольку
речь идет о Delphi, а редактор интегрирован в среду программирования, проще
всего открыть библиотеку типов во время разработки клиентского проекта: ме-
ню File→ Open и указать файл библиотеки в двоичном формате (можно файл
*.EXE приложения для Windows). Давайте, как и раньше, экспериментировать
с приложениями Microsoft Office. В данном случае важна версия: дальнейшие
конкретные примеры рассматривают версию 2000, однако общая методика от
версии, разумеется, не зависит .
Итак , начнем с изучения библиотеки типов Microsoft Word, открыв файл
MSWORD9.OLB, в котором она размещена. Первое, что нужно сделать – это уз-
нать, какие объекты автоматизации экспортирует сервер . В библиотеке типов
каждый объект описан при помощи так называемого сопряженного класса
(CoClass). В нашем случае можно обнаружить, что сервер реализует целый ряд
объектов: Global, Application, Document, Font и др. (см . рисунок ниже).
Для объектов, которые предполагается использовать, необходимо выяснить, ка-
кие интерфейсы каждый из них реализует . Например , объект Application, без
использования которого невозможно обойтись, реализует показанные на ри-
сунке интерфейсы , причем , интерфейс _Application описан , как интерфейс
по умолчанию. Последняя информация чрезвычайно важна для программистов,
планирующих связываться с объектом через интерфейс IDispatch, поэтому на
данный факт также целесообразно обращать внимание в первую очередь.
После изучения необходимых сопряженных классов можно переходить к
реализуемым ими интерфейсам . Вкладка Text редактора содержит автоматиче-
ски сгенерированный фрагмент описания библиотеки типа на стандартном язы -
ке IDL, причем , представленный фрагмент относится к выбранному на дереве
слева узлу. Например , так выглядит описание интерфейса _Application (в
сильном сокращении):
[
uuid(00020970-0000-0000-C000-000000000046),
version(8.1),
helpcontext(0x00000970),
hidden,
dual,
nonextensible,
oleautomation
]
18 тупной информацию о типах на этапе компиляции. Другими словами, исполь- зуя библиотеку типов в двоичном формате, среда программирования автомати- чески генерирует исходный текст на соответствующем языке программирова- ния (Object Pascal или C++) специальных модулей, на которые можно будет ссылаться из остальных модулей, составляющих проект. Такая процедура имеет общее название (из терминологии распределенных вычислений) – отображе- ние к языку программирования. Изучение библиотеки типов незнакомого сервера автоматизации мы ре- комендуем начинать с ее просмотра в редакторе библиотеки типов. Поскольку речь идет о Delphi, а редактор интегрирован в среду программирования, проще всего открыть библиотеку типов во время разработки клиентского проекта: ме- ню File→Open и указать файл библиотеки в двоичном формате (можно файл *.EXE приложения для Windows). Давайте, как и раньше, экспериментировать с приложениями Microsoft Office. В данном случае важна версия: дальнейшие конкретные примеры рассматривают версию 2000, однако общая методика от версии, разумеется, не зависит. Итак, начнем с изучения библиотеки типов Microsoft Word, открыв файл MSWORD9.OLB , в котором она размещена. Первое, что нужно сделать – это уз- нать, какие объекты автоматизации экспортирует сервер. В библиотеке типов каждый объект описан при помощи так называемого сопряженного класса (CoClass). В нашем случае можно обнаружить, что сервер реализует целый ряд объектов: Global, Application, Document, Font и др. (см. рисунок ниже). Для объектов, которые предполагается использовать, необходимо выяснить, ка- кие интерфейсы каждый из них реализует. Например, объект Application , без использования которого невозможно обойтись, реализует показанные на ри- сунке интерфейсы, причем, интерфейс _Application описан, как интерфейс по умолчанию. Последняя информация чрезвычайно важна для программистов, планирующих связываться с объектом через интерфейс IDispatch , поэтому на данный факт также целесообразно обращать внимание в первую очередь. После изучения необходимых сопряженных классов можно переходить к реализуемым ими интерфейсам. Вкладка Text редактора содержит автоматиче- ски сгенерированный фрагмент описания библиотеки типа на стандартном язы- ке IDL, причем, представленный фрагмент относится к выбранному на дереве слева узлу. Например, так выглядит описание интерфейса _Application (в сильном сокращении): [ uuid(00020970-0000-0000-C000-000000000046), version(8.1), helpcontext(0x00000970), hidden, dual, nonextensible, oleautomation ]
Страницы
- « первая
- ‹ предыдущая
- …
- 16
- 17
- 18
- 19
- 20
- …
- следующая ›
- последняя »