Редактор библиотек типов
Редактор библиотек типов Delphi используется для просмотра и редактирования библиотек типов. Основой интерфейса редактора является панель Object List (рис. 3.1), с помощью которой пользователь может изменять, добавлять и удалять элементы библиотеки типов. Элементами библиотек типов являются составные классы, свойства и методы интерфейсов и перечисления. Панель Object List представляет элементы в виде дерева объектов. В зависимости от типа элемента, выбранного в панели Object List, в правой части редактора библиотек типов появляются различные вкладки. Возможно, это будут вкладки Attributes, Members и Uses.
Для редактирования библиотеки типов текущего проекта выполните команду View/Type Library. Чтобы просмотреть библиотеку типов, не являющуюся частью проекта, выберите пункт меню File/Open. После этого в списка File of type выберите строку Type Library (*.tlb;*.dll;*.ocx;*.exe;*.olb), чтобы вывести все файлы, которые могут содержать информацию о типах.
Теперь более детально рассмотрим каждый элемент библиотеки типов. Начнем с информации о библиотеке.
Информация о библиотеке типов
Каждая библиотека типов включает раздел, описывающий саму библиотеку, - элемент библиотеки типов. Когда этот элемент выбран в панели Object List (см. рис. 3.1), в правой части экрана редактора библиотеки типов появляются две вкладки: Attributes и Uses. Два следующих раздела описывают назначение вкладок Attributes и Uses в элементе библиотеки типов.
Вкладка Attributes в описании библиотеки типов
Во вкладке Attributes (атрибуты) содержится общая информация и характеристики библиотеки типов. Показанные ниже атрибуты и флаги появляются в этой вкладке, когда в панели Object List выбран элемент библиотеки типов. В таблице 3.1 перечислены все атрибуты, а в табл. 3.2 - все флаги библиотеки типов.
Таблица 3.1. Атрибуты библиотеки типовАтрибут | Описание | Name | Имя библиотеки типов | GUID | Глобально уникальный 128-разрядный идентификатор библиотеки типов | Version | Версия библиотеки типов, записанная в формате п.т, где п - старший и т - младший номера версии. В качестве номера версии может использоваться и единичное целое число. В качестве старшего и младшего номеров версий можно использовать числа от 0 до 65 535 | LCID | Идентификатор места действия (locale), описывающий один национальный язык, который используется для всех текстовых строк в библиотеке типов и ее элементах | Help String | Краткое описание библиотеки. Настоятельно рекомендуется указывать эту строку во всех созда-ваемых библиотеках | Help File | Имя файла справки, связанной с библиотекой типов | Help Context | Идентификатор контекста справки библиотеки типов |
Таблица 3.2. Флаги библиотеки типовФлаг | Описание | None | Флаги не установлены | Restricted | Запрещает использовать библиотеку типов в средах программирования макросов, таких как Visual Basic | Control | Указывает, что библиотека содержит элемент управления, который будет использован на стороне сервера для порождения новых библиотек типов и классов составных объектов (CoClass) | Hidden | Указывает, что библиотека существует, но не должна быть показана в пользовательских броузерах |
Вкладка Uses в описании библтотеки типов
Во вкладке Uses показаны все библиотеки, на которые ссылается просматриваемая библиотека. С помощью ссылок на другие библиотеки типов можно заимствовать определение элементов, таких как пересечение или интерфейсы. Это поможет разработчику определить собственные интерфейсы в собственной библиотеке типов. Например, основной интерфейс сервера автоматизации порожден от интерфейса IDispatch, но вам не придется изобретать колесо, так как Delphi автоматически создает ссылку на библиотеку типов STDOLE32. TLB, в которой определен интерфейс IDispatch. Библиотека STDOLE32.TLB является основной библиотекой типов Windows.
С каждой записью вкладки Uses связано две части информации. Первая часть - имя библиотеки, на которую создается ссылка, вторая - идентификатор GUID, который идентифицирует библиотеку типов в реестре Windows.
Перечисления (Enum) в библиотеках типов
Перечисления в библиотеках типов практически не отличаются от перечислений языка Object Pascal. Перечисление в библиотеке типов - это коллекция связанных констант, используемая как тип данных во всех остальных элементах библиотеки для определения свойств или методов. Кроме того, в зависимости от среды программирования константы перечисления могут использоваться с объектом ActiveX внутри среды программирования. В следующих двух разделах рассматривается назначение вкладок Attributes и Members в описании перечислений.
Вкладка Attributes в описании перечисления
В таблице 3.3 перечислены все возможные атрибуты, которые можно использовать с перечислением.
Таблица 3.3. Атрибуты перечисления в библиотеке типовАтрибут | Описание | Name | Имя перечисления | GUID | 128-разрядный идентификатор GUID-перечисления | Help String | Краткое описание перечисления. Настоятельно рекомендуется указывать эту строку во всех создаваемых библиотеках | Help Context | Идентификатор контекста справки по перечислению | Version | Версия библиотеки типов, записанная в формате п.т, где n - старший и m - младший номера версии. В качестве номера версии может использоваться и единичное целое число. В качестве старшего и младшего номеров версий можно использовать числа от 0 до 65 535 |
Вкладка Members в описании перечисления
Во вкладке Members определяются сами константы, составляющие перечисление. Формат определения константы показан ниже.
<Имя константы> = <Значение константы>; helpstring = 'Строка описания';
Настоятельно рекомендуется указывать строку описания для членов перечисления, так как приложения, использующие ваш объект СОМ, могут зависеть от строк описания.
1 2
8 8 8
| |