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}">