Создайте ObjectARX MFC Прикладной Скелет
1 Создают новый проект в Microsoft Visual C++, используя Прикладного Мастера. Выберите MFC AppWizard (dll) проектный{*строительный*} тип. Назначите проект имя (для этой выборки, мы будем использовать имя AsdkAcUiSample) и каталог и нажимать OK. На следующем экране, выберите Расширение{*продление*} MFC DLL, затем нажмите Finish. Мы теперь имеем основное MFC Расширение{*продление*} DLL проект.
2 Мы теперь добавим необходимый код, чтобы поддержать ObjectARX. Откройте AsdkAcUiSample.cpp файл. Удалите запрос AFX_EXTENSION_MODULE и также функция DllMain.
3 Добавляют следующее объявление:
AC_IMPLEMENT_EXTENSION_MODULE(theArxDLL);
4 Добавляют следующий код, чтобы установить команду AutoCAD и acrxEntryPoint:
void dialogCreate()
{
acutPrintf("\nAcUi Dialog Sample");
}
Следующий запрос addCommand использует образец ресурса модуля от
AC_IMPLEMENT_EXTENSION_MODULE макрокоманда:
static void initApp()
{
theArxDLL.AttachInstance();
CAcModuleResourceOverride resOverride;
acedRegCmds->addCommand(
"ASDK_ACUI_SAMPLE",
"ASDKACUISAMPLE",
"ACUISAMPLE",
ACRX_CMD_MODAL,
dialogCreate,
NULL,
-1,
theArxDLL.ModuleResourceInstance());
}
Следующий unloadApp () функция вызвана, когда приложение разгружается.
В это время важно отделить образец ресурса:
static void unloadApp()
{
// Do other cleanup tasks here
acedRegCmds->removeGroup("ASDK_ACUI_SAMPLE");
theArxDLL.DetachInstance();
}
// Entry point
//
extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* appId)
{
switch( msg )
{
case AcRx::kInitAppMsg:
acrxDynamicLinker->unlockApplication(appId);
acrxDynamicLinker->registerAppMDIAware(appId);
initApp();
break;
case AcRx::kUnloadAppMsg:
unloadApp();
break;
case AcRx::kInitDialogMsg:
break;
default:
break;
}
return AcRx::kRetOK;
}
Создайте AsdkAcUiSample.h файл заголовка, и добавьте следующие линии к file:
#include "resource.h" // main symbols
#define PI 3.14159265359
// Forward declaration for the entry point function of
// our application
void testCreate();
Тогда добавьте следующие файлы для включения к AsdkAcUiSample.cpp:
#include "AsdkAcUiSample.h"
#include "AcExtensionModule.h"
Вы будете также должны добавить ObjectARX библиотеки к проектному файлу, заменять .dll расширение к .arx, и изменять .def файл надлежащим экспортом. Тогда Вы должны быть способны компилировать и загрузить приложение.