ObjectARX, AutoCAD. Среда программирования библиотеки C++

Формирование Приложения


Приложение, которое использует AcBr библиотеку, должно иметь библиотечный файл, libacbr.dll доступный, чтобы связаться против. Более важно, библиотека необходима, чтобы гарантировать надлежащую регистрацию классов AcBr с ObjectARX во время выполнения. Поэтому важно, что libacbr.dll, быть явно загружено приложением, если это уже не было загружено разработчиком модели или другим приложением.  Лучший способ гарантировать это состоял в том, чтобы использовать acrxDynamicLoader () и acrxClassDictionary () чтобы загрузить libacbr.dll и проверять, было ли это загружено.

Следующий кодовый фрагмент обеспечивает пример:

AcRx::AppRetCode

acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)

{

switch (msg) {

case AcRx::kInitAppMsg:

if (!acrxClassDictionary->at("AcBrEntity")) {

acrxDynamicLinker->loadModule("libacbr.dll", 1);

acutPrintf("\n libacbr loaded \n");

}

acedRegCmds->addCommand(

"MY_APP",



"MY_CMD",

"MY_CMD",

ACRX_CMD_MODAL,

&myCmdImp);

acrxUnlockApplication(pkt); // try to allow unloading

break;

case AcRx::kUnloadAppMsg:

acedRegCmds->removeGroup("MY_APP");

break;

default:

break;

}

return AcRx::kRetOK;

}

ПРИМЕЧАНИЕ, которое важно не разгрузить libacbr.dll на выход от приложения, как другие приложения (или разработчик модели) может все еще зависеть от его присутствия.



Содержание раздела