Files
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

3.1 KiB

title, type, api, tags, sources
title type api tags sources
ExternalRunCommand - Головная функция библиотеки guide
api7
guide
api7
externalruncommand
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