Delphi 5. Среда разработки
f65d50f6

Новое в поддержке COM


На странице ActiveX репозитария объектов имеется эксперт для создания активных серверных объектов - Active Server Objects.  Эти объекты представляют собой объекты автоматизации, доступные на активных серверных страницах (Active Server Pages), которые можно получить с помощью Internet Information Server. При создании такого объекта может быть сгенерирован простейший скрипт для его тестирования. Подробности об этом можно найти в статье, посвященной их использованию.

Delphi 5 при импорте библиотек типов в приложения предоставляет возможность установить COM-серверы в палитру компонентов, при этом полученный компонент (наследник класса TOleServer) обладает событиями, имеющимися у данного объекта автоматизации (это касается в том числе и библиотек типов COM-серверов MIcrosoft, предназначенных для работы с наборами данных). Это позволяет создавать их обработчики с помощью инспектора объектов, тем самым существенно упрощая создание кода для реагирования на события сервера. Что касается свойств таких компонентов, они, как и свойства серверных объектов, доступны только на этапе выполнения, поэтому в инспекторе объектов они не отображаются (рис. 23).

 

Рисунок 23.  Компоненты для доступа к серверным объектам Netscape Communicator 4.5, полученные в результате импорта библиотеки типов.

Отметим, что на страницу Servers палитры компонентов изначально установлены компоненты - наследники TOleServer для доступа ко всем серверным объектам Microsoft Office (а именно, компоненты TWordApplication, TWordDocument, TWordFont, TWordParagraphFormat, TwordLetterContent, TBinder, TExcelApplication, TExcelQueryTable, TExcelChart, TExcelWorkSheet, TExcelWorkBook, TExcelOleObject, TDoCmd, TAccessHyperLink, TAccessForm, TAccessReport, TAccessReference, TPowerPointApplication, TPowerPointSlide, TPowerPointPresentation, TOutlookApplication, TContactItem, TAppointmentItem, TJournalItem, TMailItem, TMeetingRequestItem, TNoteItem, TPostItem, TRemoteItem, TReportItem, TTaskItem, TTaskRequestItem). Это облегчает создание контроллеров автоматизации MS Office (рис. 24).

Рисунок 24.  Страница Servers палитры компонентов Delphi 5

Подробности об использовании компонентов страницы Servers при создании контроллеров автоматизации MS Office также можно прочесть в отдельной статье, посвященной этой теме.

Помимо этого, есть еще несколько небольших изменений в поддержке COM, таких как поддержка применяемых в некоторых COM-серверах таблиц виртуальных методов с "пустотами" (sparse vtables); кроме того, исправлены некоторые погрешности в классе TComObjectFactory, связанные с поддержкой модели free многопоточности; ситуация, когда регистрация COM-сервера невозможна из-за отсутствия права редактировать реестр, теперь также обрабатывается корректно (ранее об этом разработчику просто не сообщалось). Изменились также некоторые установки по умолчанию в экспертах для создания COM-объектов - теперь по умолчанию в них предлагается создавать библиотеку типов и генерировать код, предназначенный для поддержки автоматизации.



Содержание раздела