diff --git a/EXE_MachMgr.cpp b/EXE_MachMgr.cpp index 183a5fa..61e062e 100644 --- a/EXE_MachMgr.cpp +++ b/EXE_MachMgr.cpp @@ -66,6 +66,28 @@ ExeInsertMachMgr( int nInsGrp) return pMachMgr->Insert( nInsGrp) ; } +//----------------------------------------------------------------------------- +// Errors +//----------------------------------------------------------------------------- +int +ExeGetLastMachMgrErrorId( void) +{ + IMachMgr* pMachMgr = GetCurrMachMgr() ; + VERIFY_MACHMGR( pMachMgr, 1) + // restituisco l'errore + return pMachMgr->GetLastErrorId() ; +} + +//----------------------------------------------------------------------------- +string +ExeGetLastMachMgrErrorString( void) +{ + IMachMgr* pMachMgr = GetCurrMachMgr() ; + VERIFY_MACHMGR( pMachMgr, "MachMgr invalid") + // restituisco l'errore + return pMachMgr->GetLastErrorString() ; +} + //----------------------------------------------------------------------------- // Machines //----------------------------------------------------------------------------- diff --git a/EgtExecutor.rc b/EgtExecutor.rc index fead5c3..ac18c27 100644 Binary files a/EgtExecutor.rc and b/EgtExecutor.rc differ diff --git a/LUA_MachMgr.cpp b/LUA_MachMgr.cpp index 171076a..b6f8bf0 100644 --- a/LUA_MachMgr.cpp +++ b/LUA_MachMgr.cpp @@ -22,6 +22,23 @@ using namespace std ; +//------------------------------------------------------------------------------- +// Errors +//------------------------------------------------------------------------------- +static int +LuaGetLastMachMgrError( lua_State* L) +{ + // nessun parametro + LuaClearStack( L) ; + // recupero identificativo e stringa dell'errore + int nErr = ExeGetLastMachMgrErrorId() ; + string sErr = ( nErr != 0 ? ExeGetLastMachMgrErrorString() : "") ; + // restituisco il risultato + LuaSetParam( L, nErr) ; + LuaSetParam( L, sErr) ; + return 2 ; +} + //------------------------------------------------------------------------------- // Machines //------------------------------------------------------------------------------- @@ -2964,6 +2981,8 @@ bool LuaInstallMachMgr( LuaMgr& luaMgr) { bool bOk = ( &luaMgr != nullptr) ; + // Errors + bOk = bOk && luaMgr.RegisterFunction( "EgtGetLastMachMgrError", LuaGetLastMachMgrError) ; // Machines bOk = bOk && luaMgr.RegisterFunction( "EgtSetCurrMachine", LuaSetCurrMachine) ; bOk = bOk && luaMgr.RegisterFunction( "EgtGetCurrMachineName", LuaGetCurrMachineName) ;