*Создание прикладных библиотек > Оформление прикладных библиотек типа 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.
Примечание:
При вызове команды библиотеки из меню, панели инструментов или при редактировании библиотечного элемента по двойному нажатию кнопки мыши управление передается этому методу с номером выбранной команды.
Библиотека должна обязательно содержать один из предопределенных методов ExternalRunCommand, который определяет точку входа в приложение или LibInterfaceNotifyEntry. Наличие хотя бы одного из этих методов позволяет системе КОМПАС идентифицировать произвольный ActiveX DLL как собственное приложение.
Параметр 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