e1337e4016
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается. - .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным (safety-net на случай повторной локальной выгрузки). - CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
267 lines
12 KiB
Markdown
267 lines
12 KiB
Markdown
---
|
||
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) Получить свойство
|
||
```
|
||
Примечание:
|
||
Свойство позволяет получить идентификатор библиотеки. Идентификатор присваивается библиотеке, когда она подключена к системе. В этот момент библиотека отображается в меню Библиотеки и в Менеджере библиотек рядом с именем библиотеки взводится «галочка». У подключенной библиотеки можно выполнять команды (процедуры).
|