diff --git a/API_GdbObjects.cpp b/API_GdbObjects.cpp index df941a5..6b16553 100644 --- a/API_GdbObjects.cpp +++ b/API_GdbObjects.cpp @@ -451,11 +451,6 @@ EgtErase( const INTVECTOR& vIds) nId = (( vIds[i] != GDB_ID_SEL) ? GDB_ID_NULL : pGeomDB->GetFirstSelectedObj()) ; } } - // se cancellato pezzo corrente o layer corrente - if ( bErasedCurrPart) - EgtResetCurrPartLayer() ; - else if ( bErasedCurrLayer) - EgtSetCurrPartLayer( nCurrPartId, EgtGetFirstLayer( nCurrPartId, true)) ; EgtSetModified() ; // se richiesto, salvo il comando Lua equivalente if ( IsCmdLog()) { @@ -463,6 +458,11 @@ EgtErase( const INTVECTOR& vIds) " -- Ok=" + ToString( bOk) ; LOG_INFO( GetCmdLogger(), sLua.c_str()) ; } + // se cancellato pezzo corrente o layer corrente (va qui perchè salva altro comando che è successivo) + if ( bErasedCurrPart) + EgtResetCurrPartLayer() ; + else if ( bErasedCurrLayer) + EgtSetCurrPartLayer( nCurrPartId, EgtGetFirstLayer( nCurrPartId, true)) ; // restituisco risultato return bOk ; } diff --git a/API_MachMgr.cpp b/API_MachMgr.cpp index 0faab3b..d438c99 100644 --- a/API_MachMgr.cpp +++ b/API_MachMgr.cpp @@ -26,20 +26,23 @@ using namespace std ; //----------------------------------------------------------------------------- BOOL -__stdcall EgtInitMachMgr( void) +__stdcall EgtInitMachMgr( const wchar_t* wsMachinesDir) { GseContext* pGseCtx = GetCurrGseContext() ; VERIFY_CTX( pGseCtx, FALSE) // inizializzazione gestore lavorazioni PtrOwner pMachMgr( MyCreateMachMgr()) ; VERIFY_NULL( Get( pMachMgr), "Error in CreateMachMgr", FALSE) - pMachMgr->Init( pGseCtx->m_pGeomDB) ; + string sMachinesDir = wstrztoA( wsMachinesDir) ; + bool bOk = pMachMgr->Init( pGseCtx->m_pGeomDB, sMachinesDir) ; // assegno il gestore al contesto - pGseCtx->m_pMachMgr = Release( pMachMgr) ; + pGseCtx->m_pMachMgr = ( bOk ? Release( pMachMgr) : nullptr) ; // log avvio Machining Manager - string sLog = "MachMgr started " ; + string sLog = "MachMgr " ; + sLog += ( bOk ? " started" : " error") ; + sLog += " (" + sMachinesDir + ")" ; LOG_INFO( GetLogger(), sLog.c_str()) - return TRUE ; + return ( bOk ? TRUE : FALSE) ; } //----------------------------------------------------------------------------- diff --git a/EgtInterface.rc b/EgtInterface.rc index d1daf54..583cb11 100644 Binary files a/EgtInterface.rc and b/EgtInterface.rc differ