diff --git a/Generator.cpp b/Generator.cpp index 8457ed1..264d683 100644 --- a/Generator.cpp +++ b/Generator.cpp @@ -19,6 +19,7 @@ #include "OutputConst.h" #include "/EgtDev/Include/EMkDllMain.h" #include "/EgtDev/Include/EGnFileUtils.h" +#include "/EgtDev/Include/EGnGetKeyData.h" using namespace std ; @@ -46,19 +47,31 @@ Generator::Init( MachMgr* pMchMgr) bool Generator::Run( const string& sCncFile, const string& sInfo) { - // verifico sia abilitato dalla licenza - bool bEnabled = false ; - if ( GetEMkNetHwKey()) { - bEnabled = true ; - } - else { - unsigned int nOpt1, nOpt2 ; - int nOptExpDays ; + // Controllo della licenza + unsigned int nOpt1, nOpt2 ; + int nOptExpDays ; + int nRet = GetEGnKeyOptions( KEY_BASELIB_PROD, KEY_BASELIB_VER, KEY_BASELIB_LEV, + nOpt1, nOpt2, nOptExpDays) ; + if ( ! GetEMkNetHwKey()) int nRet = GetKeyOptions( GetEMkKey(), KEY_BASELIB_PROD, KEY_BASELIB_VER, KEY_BASELIB_LEV, nOpt1, nOpt2, nOptExpDays) ; - bEnabled = ( nRet == KEY_OK && ( nOpt1 & KEYOPT_EMK_NC_OFF) == 0) ; - } - if ( bEnabled) { + + // Verifica della abilitazione + bool bMinTime = false ; + if ( nOptExpDays >= GetMinDay()) + bMinTime = true ; + bool bCurrTime = false ; + if ( nOptExpDays >= GetCurrDay()) + bCurrTime = true ; + bool bKey = false ; + if ( nRet == KEY_OK) + bKey = true ; + bool bOption = false ; + if ( ( nOpt1 & KEYOPT_EMK_NC_OFF) == 0) + bOption = true ; + + // Esecuzione + if ( bMinTime && bCurrTime && bKey && bOption) { // emetto info di log { string sOut = "Generator Run : " + sCncFile ; @@ -79,6 +92,11 @@ Generator::Run( const string& sCncFile, const string& sInfo) return bOk ; } + // cancello l'eventuale file di uscita (e anche il file errore) + EraseFile( sCncFile) ; + string sErrFile = ChangeFileExtension( sCncFile, ERR_EXT) ; + EraseFile( sErrFile) ; + // Generazione non abilitata m_pMchMgr->SetLastError( 1000, "NC_OFF") ; std::string sErr = "Warning on Key (MKC/NCO)" ;