diff --git a/Effector.Main/Application.xaml.vb b/Effector.Main/Application.xaml.vb index 9c7dc71..e485c53 100644 --- a/Effector.Main/Application.xaml.vb +++ b/Effector.Main/Application.xaml.vb @@ -5,10 +5,16 @@ Protected Overrides Sub OnStartup(e As StartupEventArgs) MyBase.OnStartup(e) ShutdownMode = System.Windows.ShutdownMode.OnMainWindowClose + + If e.Args.Count = 0 Then + ' creo finestra SplashScreen + Dim SplashScreen As New SplashScreen + Me.MainWindow = SplashScreen + Me.MainWindow.Show() + Map.SetRefSplashScreen(SplashScreen) + End If ' Creo la View principale - Dim MainWindowVM As New MainWindowVM Me.MainWindow = New MainWindowV - Me.MainWindow.DataContext = MainWindowVM ' Mostro la View principale Me.MainWindow.Show() End Sub diff --git a/Effector.Main/Comms/MachineManager.vb b/Effector.Main/Comms/MachineManager.vb index e07268b..8ad4494 100644 --- a/Effector.Main/Comms/MachineManager.vb +++ b/Effector.Main/Comms/MachineManager.vb @@ -16,29 +16,37 @@ Public Class MachineManager Sub Init() If GetMainPrivateProfileInt(S_NC, K_NC_SIMULATE, 0) = 1 Then - Dim nMachineIndex As Integer = 0 + Dim nMachineIndex As Integer = 1 Dim sMachine As String = "" - While GetMainPrivateProfileString(S_NC, K_MACHINE & (nMachineIndex + 1).ToString(), "", sMachine) > 0 - Dim NewSimulatedMachine As New NC.Simulated - NewSimulatedMachine.Connect("") - m_MachineList(nMachineIndex) = NewSimulatedMachine + While GetMainPrivateProfileString(S_NC, K_MACHINE & nMachineIndex.ToString(), "", sMachine) > 0 + If Map.refMainWindowVM.MainWindowM.GetKeyOption1(nMachineIndex) Then + Dim NewSimulatedMachine As New NC.Simulated + NewSimulatedMachine.Connect("") + m_MachineList(nMachineIndex - 1) = NewSimulatedMachine + Else + EgtOutLog("Tentativo di caricare macchine oltre il limite imposto dalla chiave!") + End If nMachineIndex += 1 End While Else Dim nMachineIndex As Integer = 1 Dim sMachine As String = "" While GetMainPrivateProfileString(S_NC, K_MACHINE & nMachineIndex.ToString(), "", sMachine) > 0 - Dim sMachineSplit() As String = sMachine.Split(","c) - Dim nType As Integer = 0 - If sMachineSplit.Count >= 1 AndAlso Not String.IsNullOrWhiteSpace(sMachineSplit(0)) AndAlso Integer.TryParse(sMachineSplit(0), nType) Then - Select Case nType - Case 1 ' OsaiOpen - If sMachineSplit.Count >= 2 AndAlso Not String.IsNullOrWhiteSpace(sMachineSplit(1)) Then - Dim NewOsaiOpen As New NC.OsaiOpen - NewOsaiOpen.Connect(sMachineSplit(1)) - m_MachineList(nMachineIndex - 1) = NewOsaiOpen - End If - End Select + If Map.refMainWindowVM.MainWindowM.GetKeyOption1(nMachineIndex) Then + Dim sMachineSplit() As String = sMachine.Split(","c) + Dim nType As Integer = 0 + If sMachineSplit.Count >= 1 AndAlso Not String.IsNullOrWhiteSpace(sMachineSplit(0)) AndAlso Integer.TryParse(sMachineSplit(0), nType) Then + Select Case nType + Case 1 ' OsaiOpen + If sMachineSplit.Count >= 2 AndAlso Not String.IsNullOrWhiteSpace(sMachineSplit(1)) Then + Dim NewOsaiOpen As New NC.OsaiOpen + NewOsaiOpen.Connect(sMachineSplit(1)) + m_MachineList(nMachineIndex - 1) = NewOsaiOpen + End If + End Select + End If + Else + EgtOutLog("Tentativo di caricare macchine oltre il limite imposto dalla chiave!") End If nMachineIndex += 1 End While diff --git a/Effector.Main/Constants/ConstIni.vb b/Effector.Main/Constants/ConstIni.vb index f91e497..052941f 100644 --- a/Effector.Main/Constants/ConstIni.vb +++ b/Effector.Main/Constants/ConstIni.vb @@ -16,7 +16,7 @@ Module ConstIni Public Const S_GENERAL As String = "General" 'Public Const K_DEBUG As String = "Debug" - 'Public Const K_LICENCE As String = "Licence" + Public Const K_LICENCE As String = "Licence" 'Public Const K_USERLEVEL As String = "UserLevel" 'Public Const K_MAXINST As String = "MaxInstances" Public Const K_INSTANCES As String = "Instances" diff --git a/Effector.Main/Effector.Main.vbproj b/Effector.Main/Effector.Main.vbproj index f2355c3..bd734b4 100644 --- a/Effector.Main/Effector.Main.vbproj +++ b/Effector.Main/Effector.Main.vbproj @@ -164,6 +164,9 @@ + + SplashScreen.xaml + Dictionary.xaml @@ -173,6 +176,7 @@ + MSBuild:Compile @@ -187,6 +191,10 @@ MainWindowV.xaml Code + + MSBuild:Compile + Designer + MSBuild:Compile Designer @@ -268,6 +276,9 @@ + + + diff --git a/Effector.Main/FiniteStateMachineManager/FiniteStateMachineManager.vb b/Effector.Main/FiniteStateMachineManager/FiniteStateMachineManager.vb index b1b6230..3b846cc 100644 --- a/Effector.Main/FiniteStateMachineManager/FiniteStateMachineManager.vb +++ b/Effector.Main/FiniteStateMachineManager/FiniteStateMachineManager.vb @@ -16,6 +16,7 @@ Public Class FiniteStateMachineManager Private m_PostProcPath As String = "" Sub New() + LuaManager.SetGlobVar("EFFECTOR.DATADIR", Map.refMainWindowVM.MainWindowM.sDataRoot) ' leggo file inizializzazione variabili lua Dim sLuaInitPath As String = "" If GetMainPrivateProfileString(S_GENERAL, K_INITLUA, "", sLuaInitPath) > 0 Then diff --git a/Effector.Main/LUA/Lua_General.vb b/Effector.Main/LUA/Lua_General.vb index ac70dd7..85ae484 100644 --- a/Effector.Main/LUA/Lua_General.vb +++ b/Effector.Main/LUA/Lua_General.vb @@ -118,7 +118,7 @@ Public Module Lua_General LuaCheckParam(state, 1, sSourcePath) LuaCheckParam(state, 2, sDestinationPath) LuaClearStack(state) - Dim bResult As Boolean + Dim bResult As Boolean = False Try ' copio il file File.Copy(sSourcePath, sDestinationPath, True) diff --git a/Effector.Main/MEFPlugin/SupervisorFunctions.vb b/Effector.Main/MEFPlugin/SupervisorFunctions.vb index 20d11d3..11f40e5 100644 --- a/Effector.Main/MEFPlugin/SupervisorFunctions.vb +++ b/Effector.Main/MEFPlugin/SupervisorFunctions.vb @@ -9,6 +9,7 @@ Public Class SupervisorFunctions Return Map.refMainWindowVM.m_PluginTestInfo End Get End Property + Public Function PlgOutLog(sLogMsg As String) As Boolean Implements IHost.PlgOutLog Return EgtOutLog(sLogMsg) End Function diff --git a/Effector.Main/MainWindow/MainWindowM.vb b/Effector.Main/MainWindow/MainWindowM.vb index b28aa12..569bc2e 100644 --- a/Effector.Main/MainWindow/MainWindowM.vb +++ b/Effector.Main/MainWindow/MainWindowM.vb @@ -74,10 +74,17 @@ Public Class MainWindowM End Get End Property - Private m_nKeyOptions As UInteger = 0 - Friend ReadOnly Property nKeyOptions As Integer + Private m_nKeyOpt1 As UInteger = 0 + Friend ReadOnly Property nKeyOpt1 As Integer Get - Return m_nKeyOptions + Return m_nKeyOpt1 + End Get + End Property + + Private m_nKeyOpt2 As UInteger = 0 + Friend ReadOnly Property nKeyOpt2 As Integer + Get + Return m_nKeyOpt2 End Get End Property @@ -141,20 +148,6 @@ Public Class MainWindowM m_sResourcesRoot = m_sDataRoot & "\" & RES_DIR ' Verifico indice di istanza ManageInstance() - '' Imposto tipo di chiave - 'EgtSetLockType(KEY_TYPE.HW) - '' Leggo e imposto chiave di protezione - 'Dim sLicFileName As String = String.Empty - 'GetMainPrivateProfileString(S_GENERAL, K_LICENCE, LIC_FILE_NAME, sLicFileName) - 'Dim sLicFile As String = m_sConfigDir & "\" & sLicFileName - 'Dim sKey As String = String.Empty - 'EgtUILib.GetPrivateProfileString(S_LICENCE, K_KEY, "", sKey, sLicFile) - 'EgtSetKey(sKey) - '' Recupero livello e opzioni della chiave - 'Dim bKey As Boolean = EgtGetKeyLevel(5583, 2605, 1, m_nKeyLevel) And - ' EgtGetKeyOptions(5583, 2605, 1, m_nKeyOptions) - '' Inizializzazione generale di EgtInterface - 'm_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0) ' inizializzo log m_sLogFile = m_sTempDir & "\" & GENLOG_FILE_NAME.Replace("#", m_nInstance.ToString()) Lua_General.SetLogPath(m_sLogFile) @@ -173,6 +166,23 @@ Public Class MainWindowM (ChrW(97 - 1 + My.Application.Info.Version.Build)).ToString() & My.Application.Info.Version.Revision.ToString() EgtOutLog(sLogMsg) + ' Gestione della chiave di protezione + Dim sLicFileName As String = "" + GetMainPrivateProfileString(S_GENERAL, K_LICENCE, LIC_FILE_NAME, sLicFileName) + Dim sLicFile As String = sConfigDir & "\" & sLicFileName + Dim sKey As String = "" + GenInterface.GetPrivateProfileString(S_LICENCE, K_KEY, "", sKey, sLicFile) + EgtSetKey(sKey) + ' Recupero livello e opzioni della chiave + Dim bKey As Boolean = EgtGetKeyLevel(7375, 2610, 1, m_nKeyLevel) And + EgtGetKeyOptions(7375, 2610, 1, m_nKeyOpt1, m_nKeyOpt2) + + If Not bKey Then + EgtOutLog("Key or Licence Problem (" & (-nKeyLevel).ToString() & ")") + MessageBox.Show("Key or Licence Problem (" & (-nKeyLevel).ToString() & ")", "Error", MessageBoxButton.OK, MessageBoxImage.Error) + EgtOutLog("Exit") + End + End If 'EgtInit(m_nDebug, m_sLogFile, sLogMsg) 'EgtSetTempDir(m_sTempDir) 'EgtSetIniFile(IniFile.m_sIniFile) @@ -268,8 +278,12 @@ Public Class MainWindowM End If End Sub - Friend Function GetKeyOption(nKeyOpt As KEY_OPT) As Boolean - Return ((m_nKeyOptions And nKeyOpt) <> 0) + Friend Function GetKeyOption1(nKeyOpt1 As Integer) As Boolean + Return (m_nKeyOpt1 >= nKeyOpt1) + End Function + + Friend Function GetKeyOption2(nKeyOpt2 As Integer) As Boolean + Return (m_nKeyOpt2 = nKeyOpt2) End Function Friend Function GetMaxInstances() As Integer diff --git a/Effector.Main/MainWindow/MainWindowV.xaml b/Effector.Main/MainWindow/MainWindowV.xaml index 7dbef65..cca39b3 100644 --- a/Effector.Main/MainWindow/MainWindowV.xaml +++ b/Effector.Main/MainWindow/MainWindowV.xaml @@ -2,8 +2,11 @@ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:Effector.Main" - Title="MainWindow" + Title="{Binding sTitle}" Style="{StaticResource MainWindow}"> + + + @@ -28,8 +31,9 @@ + Text="{Binding sTitle}">