---
title: "Интерфейс IProceduresLibrary"
type: interface
api: [api7]
tags: [interface, api7, iprocedureslibrary]
sources:
  - iprocedureslibrary.html
---

*API интерфейсов. Версия 7 > Менеджер библиотек  > Интерфейс ILibrary  > ILibrary - методы *


## Интерфейс IProceduresLibrary

Интерфейс прикладной библиотеки КОМПАС.
Иерархия:
IKompasAPIObject
ILibrary
IProceduresLibrary
Примечание:
1. Интерфейс позволяет работать с прикладной библиотекой (*.rtw или *.dll), зарегистрированной в Менеджере библиотек. Можно получить стиль отображения библиотеки (панель, окно, диалог, меню) и массив процедур, реализованных в библиотеке.
2. Данный интерфейс можно получить следующими способами:
•у интерфейса коллекции прикладных библиотек IProceduresLibraries c помощью свойства IProceduresLibraries::Item,
•у интерфейса ILibraryManager с помощью свойства ILibraryManager::CurrentLibrary,
ILibraryManager::SystemControlStartLibrary.


## AddIns - Признак AddIn-библиотеки

Тип данных: BOOL
Синтаксис Automation:
```
AddIns = iObject.AddIns    Получить свойство (* )
AddIns = iObject.GetAddIns    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_AddIns (&AddIns)    Получить свойство
```
Примечание:
Если библиотека является расширением, свойство вернет TRUE.


## CurrentCommand - Текущая команда библиотеки

Тип данных: long
Синтаксис Automation:
```
CurrentCommand = iObject.CurrentCommand    Получить свойство (* )
CurrentCommand = iObject.GetCurrentCommand    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_CurrentCommand (&CurrentCommand)    Получить свойство
```
Примечание:
Свойство позволяет получить текущую команду библиотеки. Текущая команда - это команда, которая выполняется в данный момент времени.


## Delete - Удалить описание библиотеки

Синтаксис Automation:
```
BOOL Delete();
```
Синтаксис COM:
```
HRESULT Delete( BOOL* PVal );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```


## Dictionary - Словарь

Тип данных: Указатель на интерфейс IKompasDictionary
Синтаксис Automation:
```
Dictionary = Object.Dictionary    Получить свойство (* )
Dictionary = Object.GetDictionary()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_Dictionary( &Dictionary )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.
Версия Компас v23


## Executable - Признак выполнения библиотеки

Тип данных: BOOL
Синтаксис Automation:
```
Executable = iObject.Executable    Получить свойство (* )
Executable = iObject.GetExecutable()    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Executable( &Executable )    Получить свойство
```
Примечание:
Если выполняется команда библиотеки или отрабатывается событие, на которое подписалась библиотека, то свойство вернет TRUE.


## ExternalInterface - Получить указатель внешнего интерфейса

Тип данных: Указатель на интерфейс IDispatch
Синтаксис Automation:
```
ExternalInterface = Object.ExternalInterface    Получить свойство (* )
ExternalInterface = Object.GetExternalInterface()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_ExternalInterface( &ExternalInterface )    Получить свойство
```
Примечание:
1. Свойство доступно только для чтения.
2. Addref на выдаваемый интерфейс не выполняется.
3. Внешний интерфейс можно использовать для обмена данными между двумя приложениями. Первое приложение передает интерфейс при вызове метода ILibrary::Execute.
4. После выполнения ILibrary::Execute свойство ExternalInterface возвращает NULL.


## IconsFont - Имя файла шрифта для панели команд библиотеки

Тип данных: BSTR
Синтаксис Automation:
```
IconsFont = Object.IconsFont    Получить свойство (* )
IconsFont = Object.GetIconsFont()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_IconsFont( &IconsFont )    Получить свойство
```
Примечание:
Свойство доступно только для чтения.


## LibraryName - Имя библиотеки, возвращаемое функцией LIBRARYNAME или LIBRARYID

Тип данных: BSTR
Синтаксис Automation:
```
LibraryName = Object.LibraryName    Получить свойство (* )
LibraryName = Object.GetLibraryName()    Получить свойство (**)
```
Синтаксис COM:
```
Object.get_LibraryName( &LibraryName )    Получить свойство
```
Примечание:
Свойство возвращает имя библиотеки, возвращаемое функцией LIBRARYNAME или LIBRARYID.
Отображаемое имя библиотеки может отличаться, если в библиотеке реализована функция DisplayLibraryName.
Для получения отображаемого имени библиотеки используется свойство ILibrary::Name.
При получении библиотеки по имени из коллекции можно использовать как отображаемое, так и внутреннее имя.
Свойство доступно только для чтения.


## OpenHelp - Открыть справку приложения

Синтаксис Automation:
```
BOOL OpenHelp( long HelpId );
```
Синтаксис COM:
```
HRESULT OpenHelp( long HelpId, BOOL * Result );
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
Входные параметры:
HelpId    - идентификатор страницы справки.
Версия КОМПАС v22
```


## Procedures - Коллекция процедур библиотеки

Тип данных: указатель на интерфейс IProcedures
Синтаксис Automation:
```
Procedures = iObject.Procedures    Получить свойство (* )
Procedures = iObject.GetProcedures    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_Procedures (&Procedures)    Получить свойство
```
Примечание:
Свойство позволяет получить коллекцию процедур библиотеки.


## Style - Стиль отображения библиотеки

Тип данных: ksLibraryStyleEnum
Синтаксис Automation:
```
Style = iObject.Style    Получить свойство (* )
iObject.Style = Style    Установить свойство (* )
Style = iObject.GetStyle()    Получить свойство (**)
iObject.SetStyle (Style)    Установить свойство (**)
```
Синтаксис COM:
```
iObject->get_Style (&Style)    Получить свойство
iObject->put_Style (Style)    Установить свойство
```
Примечание:
Позволяет получить и установить стиль отображения библиотеки.


## SystemControlStart - Передать управление системе из под библиотеки

Синтаксис Automation:
```
ksSystemControlStartEnum SystemControlStart( BSTR menuCommand );
```
Синтаксис COM:
```
HRESULT SystemControlStart([in] BSTR menuCommand, [out, retval] ksSystemControlStartEnum* pVal);
Входные параметры:
PathFolder    - путь к папке,
post    - TRUE - отложенное выполнение.
Возвращаемое значение:
ksSystemControlStartEnum
```
Примечание:
Библиотечная функция отдает управление КОМПАС-ГРАФИК для интерактивной доработки документа. Возврат в библиотечную функцию будет осуществлен после нажатия команды в меню Библиотеки, обозначенной строкой menuCommand.
Если строка не задана, то ей автоматически будет присвоено значение "Вернуться в библиотеку" (функция вернет ksSCStoppedByMenuCommand). Или при вызове из этой же библиотеки SystemControlStop (функция вернет ksSCStopItself). Библиотека, находясь в этом режиме, как бы замирает на вызове SystemControlStart. Если этот режим вызван в другой библиотеке, то в данной библиотеке режим выполняться не будет (функция вернет ksSCStartedByAnotherLibrary). Только одна библиотека может находиться в режиме SystemControlStart.


## SystemControlStop - Вернуть управление в библиотеку

Синтаксис Automation:
```
BOOL SystemControlStop();
```
Синтаксис COM:
```
HRESULT SystemControlStop ([out, retval] VARIANT_BOOL* pVal);
Возвращаемое значение:
TRUE    - в случае успеха,
FALSE    - в случае неудачи.
```
Примечание:
Метод позволяет вернуть управление в библиотеку, если она находится в режиме SystemControlStart.


## UniqueId - Идентификатор библиотеки

Тип данных: long
Синтаксис Automation:
```
UniqueId = iObject.UniqueId    Получить свойство (* )
UniqueId = iObject.GetUniqueId    Получить свойство (**)
```
Синтаксис COM:
```
iObject->get_UniqueId (&UniqueId)    Получить свойство
```
Примечание:
Свойство позволяет получить идентификатор библиотеки. Идентификатор присваивается библиотеке, когда она подключена к системе. В этот момент библиотека отображается в меню Библиотеки и в Менеджере библиотек рядом с именем библиотеки взводится «галочка». У подключенной библиотеки можно выполнять команды (процедуры).
