Пример #1
0
void
unloadApp()
{
    acedRegCmds->removeGroup( "ASDK_DIVISOR" );

    ASDK_REMOVE_DIVISOR_OSNAP(3,thirdMode);
    ASDK_REMOVE_DIVISOR_OSNAP(4,fourthMode);
    ASDK_REMOVE_DIVISOR_OSNAP(5,fifthMode);

    deleteAcRxClass( AsdkDivOsnapInfo<3>::desc() );
    deleteAcRxClass( AsdkDivOsnapInfo<4>::desc() );
    deleteAcRxClass( AsdkDivOsnapInfo<5>::desc() );
}
Пример #2
0
static void
unloadApp(void)
{
    // unregister your own entities
    //
    deleteAcRxClass(AsdkMkrEntity::desc());
    deleteAcRxClass(AsdkMkrObject::desc());

    // unregister your autocad commands
    //
    acedRegCmds->removeGroup(/*NOXLATE*/"ASDK_MKR");
    erase_EditorReactor();
}
Пример #3
0
//-----------------------------------------------------------------------------
//----- This is the entry point that makes a simple DLL an ARX.
//----- This entry point must be exported either by means of a def file
//----- or by the means of _declspec
extern "C" AcRx::AppRetCode acrxEntryPoint (AcRx::AppMsgCode msg, void *pkt) {
    switch (msg) {
		case AcRx::kInitAppMsg:
			//----- An ARX application is locked to memory by default.
			//----- You must make the following function call to unlock it.
			acrxDynamicLinker->unlockApplication (pkt) ;
			//----- Register as  MDI aware
			acrxDynamicLinker->registerAppMDIAware(pkt);
			//----- Register the OarxEmployee class into the AutoCAD runtime class hierachy
			OarxEmployee::rxInit () ;
			//----- Build-up the AutoCAD runtime class hierachy with the new class entry
			acrxBuildClassHierarchy () ;
			//----- Do not forget our ServiceName
			acrxDynamicLinker->registerService (EmployeeServiceName, new OarxEmployeeService) ;
			break ;
		case AcRx::kUnloadAppMsg:
			//----- Unregister the OarxEmployee class from the AutoCAD runtime
			//----- class hierachy. So AutoCAD will turn our custom entity into
			//----- a proxy entity when we are not there.
			deleteAcRxClass (OarxEmployee::desc ()) ;
			//----- Do not forget to remove the dictionary entry
			delete acrxServiceDictionary->remove (EmployeeServiceName) ;
			break ;
    }
    return (AcRx::kRetOK) ;
}
Пример #4
0
extern "C" AcRx::AppRetCode
acrxEntryPoint( AcRx::AppMsgCode msg, void *pkt )
{
    switch(msg)
    {
    case AcRx::kInitAppMsg:
		//intialize AsdkAmodeler
		//
        acrxLoadModule(_T("aecmodeler50.dbx"),0);
        // Try to allow unloading
        // 
        acrxUnlockApplication(pkt);
		//register as being MDI aware
		//
		acrxRegisterAppMDIAware(pkt);
		//initialize our custom class
		AsdkBody::rxInit();
		acrxBuildClassHierarchy();
        break;

    case AcRx::kUnloadAppMsg:
		deleteAcRxClass(AsdkBody::desc());
		//unload AsdkAModeler if we have been the
		//only one using it. (RX does reference counting)
		acrxUnloadModule(_T("aecmodeler50.dbx"));
        break;
    }
    return AcRx::kRetOK;
}
Пример #5
0
// The clean up function is called from acrxEntryPoint() during the
// kUnloadAppMsg case.  This function removes this application's
// command set from the command stack and the
// AsdkOwnerDemo class from the ARX runtime class tree.
//
void
unloadApp()
{
    acedRegCmds->removeGroup("ASDK_OWNERSHIP_COMMANDS");

    // Remove the AsdkOwnerDemo class from the ACRX runtime
    // class hierarchy.  If this is done while the database is
    // still active, it should cause all objects of class
    // AsdkOwnerDemo to be turned into proxies.
    //
    deleteAcRxClass(AsdkOwnerDemo::desc());
}
Пример #6
0
void
	unloadApp()
{
	acedRegCmds->removeGroup( _T("ASDK_THIRD") );

	acdbCustomOsnapManager()->removeCustomOsnapMode( &thirdMode );

	AcDbEntity::desc()->delX( AsdkThirdOsnapInfo::desc() );
	AcDbCurve::desc()->delX( AsdkThirdOsnapInfo::desc() );
	AcDbPolyline::desc()->delX( AsdkThirdOsnapInfo::desc() );

	deleteAcRxClass( AsdkThirdOsnapInfo::desc() );
}
Пример #7
0
extern "C" AcRx::AppRetCode
acrxEntryPoint(AcRx::AppMsgCode msg, void* appId) 
{
    switch(msg) {
	case AcRx::kInitAppMsg:
        acrxDynamicLinker->unlockApplication(appId);
		acrxDynamicLinker->registerAppMDIAware(appId);
	    initAsdkTextStyleSamp();
	    break;
	case AcRx::kUnloadAppMsg:
	    acedRegCmds->removeGroup("ASDK_TEXTSTYLE_SAMP");
            deleteAcRxClass(AsdkTextStyleSamp::desc());
    }
    return AcRx::kRetOK;
}
Пример #8
0
void
unloadApp()
{
    delete acrxServiceDictionary->remove("AsdkTemperature");
    acedRegCmds->removeGroup("ASDK_TEMPERATURE_APP");

    // Remove protocol extension objects from the AcRxClass
    // object tree.  This *must* be done before removing the
    // AsdkEntTemperature class from the ACRX runtime class
    // hierarchy so that the AsdkEntTemperature::desc()
    // still exists.
    // 
    AcDbEntity::desc()->delX(AsdkEntTemperature::desc());
    delete pDefaultTemp;
    AcDbRegion::desc()->delX(AsdkEntTemperature::desc());
    delete pRegionTemp;
    AcDbCircle::desc()->delX(AsdkEntTemperature::desc());
    delete pCircleTemp;

    // Remove the AsdkEntTemperature class from the ARX
    // runtime class hierarchy.
    //
    deleteAcRxClass(AsdkEntTemperature::desc());
}
Пример #9
0
void
ArxDbgApp::unRegisterClasses()
{
    deleteAcRxClass(ArxDbgPersistentEntReactor::desc());
    deleteAcRxClass(ArxDbgPersistentObjReactor::desc());
    deleteAcRxClass(ArxDbgTransientEntReactor::desc());
    deleteAcRxClass(ArxDbgTransientObjReactor::desc());

    deleteAcRxClass(ArxDbgAppEditorReactor::desc());
    deleteAcRxClass(ArxDbgDwgFiler::desc());
    deleteAcRxClass(ArxDbgReferenceFiler::desc());

    deleteAcRxClass(ArxDbgGiWorldDraw::desc());
    deleteAcRxClass(ArxDbgGiWorldGeometry::desc());
    deleteAcRxClass(ArxDbgGiSubEntityTraits::desc());
    deleteAcRxClass(ArxDbgGiContext::desc());

    deleteAcRxClass(ArxDbgDbAdeskLogo::desc());
    deleteAcRxClass(ArxDbgDbAdeskLogoStyle::desc());
    deleteAcRxClass(ArxDbgDbDictRecord::desc());
	deleteAcRxClass(ArxDbgDbEntity::desc());

	deleteAcRxClass(ArxDbgDatabaseReactor::desc());
	deleteAcRxClass(ArxDbgDLinkerReactor::desc());
	deleteAcRxClass(ArxDbgDocumentReactor::desc());
	deleteAcRxClass(ArxDbgEditorReactor::desc());
    deleteAcRxClass(ArxDbgEventReactor::desc());
	deleteAcRxClass(ArxDbgLayoutManagerReactor::desc());
	deleteAcRxClass(ArxDbgLongTransactionReactor::desc());
	deleteAcRxClass(ArxDbgTransactionReactor::desc());
}