--- title: "Интерфейс IPropertyMng" type: interface api: [api7] tags: [interface, api7, ipropertymng] sources: - ipropertymng.html --- *API интерфейсов. Версия 7 > Документ  > Свойства * ## Интерфейс IPropertyMng Интерфейс Менеджера свойств. Иерархия IDispatch IPropertyMng Описание: Позволяет управлять свойствами. Примечание: Дополнительный интерфейс. Данный интерфейс можно получить у IApplication посредством вызова метода IUnknown::QueryInterface (const GUID far& iid, void** pif). ## AddProperty - Добавить свойство Синтаксис Automation: ``` LPDISPATCH AddProperty( VARIANT libname, VARIANT val ); ``` Синтаксис COM: ``` HRESULT AddProperty( VARIANT Libname, VARIANT Val, IProperty ** ColVal ); Входные параметры: Libname ( VARIANT) - полный путь к библиотеке на диске VT_BSTR, либо указатель на документ VT_DISPATCH. Текущий документ - VT_EMPTY, val( VARIANT) - новое свойство VT_EMPY, создать по прототипу другого свойства - VT_DISPATCH. Возвращаемое значение: - Указатель на интерфейс свойства IProperty. ``` ## GetProperties - Получить массив свойств Синтаксис Automation: ``` VARIANT GetProperties ( VARIANT libname ); ``` Синтаксис COM: ``` HRESULT GetProperties( VARIANT Libname, VARIANT * Res ); Входные параметры: Libname ( VARIANT) - полный путь к библиотеке на диске VT_BSTR, либо указатель на документ VT_DISPATCH. Текущий документ - VT_EMPTY. Возвращаемое значение: - Массив библиотек VARIANT типа VT_ARRAY VT_DISPATCH. ``` Примечание: Если возвращается один объект, то тип VARIANT-а будет VT_DISPATCH, если возвращается несколько объектов, то тип VARIANT-а будет VT_ARRAY | VT_DISPATCH. ## GetProperty - Получить свойство Синтаксис Automation: ``` LPDISPATCH GetProperty ( VARIANT libname, VARIANT index ); ``` Синтаксис COM: ``` HRESULT GetProperty( VARIANT Libname, VARIANT Index, IProperty ** Res ); Входные параметры: Libname (VARIANT) - полный путь к библиотеке на диске VT_BSTR, либо указатель на документ VT_DISPATCH. Текущий документ - VT_EMPTY, index(VARIANT) - индекс в хранилище VT_I4, либо по идентификатору самого свойства - VT_R8. Возвращаемое значение: - Указатель на интерфейс свойства IProperty. Номера системных свойств... ``` ## GetReport - Получить интерфейс таблицы отчета по имени файла или указателю на документ Синтаксис Automation: ``` LPDISPATCH GetReport( VARIANT Document, ksReportTypeEnum Type ); ``` Синтаксис COM: ``` HRESULT GetReport( VARIANT Document, ksReportTypeEnum Type, IReport ** Result ); Возвращаемое значение: - Указатель на интерфейс отчета IReport. Входные параметры: Document - имя файла или указатель на документ. Выходные параметры: Type - тип отчета. ``` ## PropertyCount - Количество свойств Тип данных: long | PropertyCount = Object.PropertyCount(Libname) | Получить свойство (* ) | | --- | --- | | PropertyCount = Object.GetPropertyCount(Libname) | Получить свойство (**) | Синтаксис COM: ``` Object.get_PropertyCount( Libname, &PropertyCount ) Получить свойство Входные параметры: Libname ( VARIANT) - полный путь к библиотеке на диске VT_BSTR либо указатель на документ VT_DISPATCH. Текущий документ - VT_EMPTY. ``` Примечание: Свойство только для чтения. ## RemoveProperty - Удалить свойство Синтаксис Automation: ``` BOOL RemoveProperty ( VARIANT libname, VARIANT val ); ``` Синтаксис COM: ``` HRESULT RemoveProperty( VARIANT Libname, VARIANT Val, BOOL * ColVal ); Входные параметры: Libname ( VARIANT) - полный путь к библиотеке на диске VT_BSTR, либо указатель на документ VT_DISPATCH. Текущий документ - VT_EMPTY, val( VARIANT) - по интерфейсу свойства - VT_DISPATCH, по индексу в массиве - VT_I4, по идентификатору свойства VT_R8. Возвращаемое значение: TRUE - в случае успешного завершения, FALSE - в случае неудачи. ```