|
Пример простейшей C++ программы, оформленной в виде библиотеки КОМПАС-3D, выполненной на KsAPI |
Scroll |
// ---
#include <KsAPI.h>
#include <KompasLibraryActions.h>
static ksapi::IApplication * kompasApp = nullptr;
//------------------------------------------------------------------------------
/**
Обработчик команд библиотеки.
*/
//---
void RunCommand(unsigned int commandId, ksapi::RunCommandMode mode)
{
if (kompasApp)
kompasApp->ShowMessageBox(L"ПРИВЕТ !!!", L"", ksMessageWarning, ksButtonSetOk, true);
}
//------------------------------------------------------------------------------
/**
Инициализация библиотеки.
*/
//---
APP_EXP_FUNC(bool) LoadKompasLibrary(ksapi::IApplication & app, ksapi::IKompasLibraryActions & libaryActions)
{
libaryActions.AddRunCommandHandler(RunCommand);
kompasApp = &app;
return true;
}
//------------------------------------------------------------------------------
/**
Освобождения ресурсов перед выгрузкой библиотеки.
*/
//---
APP_EXP_FUNC(void) UnloadKompasLibrary()
{
}
Функция LoadKompasLibrary является точкой входа и передает управление КОМПАС-3D приложению. В этой функции происходит инициализация функторов оформления библиотек, использующая методы /*IKompasLibraryActions*/. В данном случае она добавляет обработчик команд приложения, используя метод /*IKompasLibraryActions::AddRunCommandHandler*/, при этом RunCommand обеспечивает выдачу сообщения при вызове команды приложения.
Подразделы:
(отсутствуют)