Files
kompas3d-mcp/docs/Kompas3D_SDK/guides/externalruncommand.md
T
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
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>
2026-05-26 20:00:05 +03:00

48 lines
3.1 KiB
Markdown

---
title: "ExternalRunCommand - Головная функция библиотеки"
type: guide
api: [api7]
tags: [guide, api7, externalruncommand]
sources:
- externalruncommand.html
---
*Создание прикладных библиотек  > Оформление прикладных библиотек типа ActiveX  > Пример простейшей программы в среде VB, оформленной в виде ActiveX библиотеки КОМПАС  > Функции *
## ExternalRunCommand - Головная функция библиотеки
void ExternalRunCommand (short command,
short mode,
IDispatch* kompas);
Синтаксис Visual Basic:
Public Sub ExternalRunCommand (ByVal command As Integer,
ByVal mode As Integer,
ByVal kompas_ As Object)
Входные параметры:
| command | - номер выполняемой команды; |
| --- | --- |
| mode | - режим работы: 0 - normal - обычный режим, 1 - demo - вызов из дистрибутивной задачи в деморежиме, 2 - demoEx - вызов из демоверсии; |
| kompas | - интерфейс KompasObject или IApplication. |
Примечание:
1. При вызове команды библиотеки из меню, панели инструментов или при редактировании библиотечного элемента по двойному нажатию кнопки мыши управление передается этому методу с номером выбранной команды.
2. Библиотека должна обязательно содержать один из предопределенных методов ExternalRunCommand, который определяет точку входа в приложение или LibInterfaceNotifyEntry. Наличие хотя бы одного из этих методов позволяет системе КОМПАС идентифицировать произвольный ActiveX DLL как собственное приложение.
3. Параметр kompas может быть указателем на интерфейс IApplication, если в библиотеке есть метод IsOnApplication7, и этот метод вернул значение TRUE, т.е. библиотека работает на API версии 7. Во всех остальных случаях параметр kompas будет указателем на интерфейс KompasObject.
## Пример использования функции ExternalRunCommand
Public Sub ExternalRunCommand(ByVal command As Integer, ByVal mode As Integer, ByVal Kompas As Object)
Select Case command
Case 1
Dim document As Object 'КОМПАС-документ
Set document = Kompas.Document3D '3D-документ
If Not document is Nothing Then
Kompas.ksMessage "Получен 3D-документ"
End If
Set document = Nothing 'освободить документ
Case Else
MsgBox "Команда " + Str(command) + " не выполнена"
End Select
End Sub