Формирование Приложения
Приложение, которое использует 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 на выход от приложения, как другие приложения (или разработчик модели) может все еще зависеть от его присутствия.