From 77a20a33f2be65ced3db318a0d584e132dac8f90 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 25 May 2026 08:09:30 +0200 Subject: [PATCH] Fix init classi di base x compilazione senza null vari --- IOB-UT-NEXT/Iob/BaseObj.cs | 4 ++-- IOB-WIN-FORM/Iob/Generic.cs | 13 +++++++------ IOB-WIN-FORM/MainForm.cs | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/IOB-UT-NEXT/Iob/BaseObj.cs b/IOB-UT-NEXT/Iob/BaseObj.cs index 6702d662..17de8ce6 100644 --- a/IOB-UT-NEXT/Iob/BaseObj.cs +++ b/IOB-UT-NEXT/Iob/BaseObj.cs @@ -102,12 +102,12 @@ namespace IOB_UT_NEXT.Iob /// /// Collettore di tutte le variabili scadenza DateTime /// - public DateTimeHelper DtHelp; + public DateTimeHelper DtHelp = new DateTimeHelper(); /// /// Collettore di tutte le Queue gestite /// - public QueueHelper QHelp; + public QueueHelper QHelp = new QueueHelper(); /// /// Abilitazione lettura PrgName diff --git a/IOB-WIN-FORM/Iob/Generic.cs b/IOB-WIN-FORM/Iob/Generic.cs index 7eccfbdd..724f0a55 100644 --- a/IOB-WIN-FORM/Iob/Generic.cs +++ b/IOB-WIN-FORM/Iob/Generic.cs @@ -69,6 +69,11 @@ namespace IOB_WIN_FORM.Iob // init oggetto TCMan var tcMan = new TCMan(IobConfNew.TCDataConf.Lambda, IobConfNew.TCDataConf.MaxDelayFactor, IobConfNew.TCDataConf.MaxIncrPz); + // aggiungo altri defaults + setDefaults(true); + // imposta valori memoria (e resetta parametri su server) + setParamPlc(); + // init communication services commService = new CommunicationService(IobConfNew, redisMan); machineCommService = new MachineCommunicationService(IobConfNew, tcMan, memMap); @@ -87,10 +92,6 @@ namespace IOB_WIN_FORM.Iob // i last li avvio a VUOTI... x evitare errore mancata riscrittura SIMEC che ha memorie NON ritentive lastProdData = new Dictionary(); //lastProdData = new Dictionary(currProdData); - // aggiungo altri defaults - setDefaults(true); - // imposta valori memoria (e resetta parametri su server) - setParamPlc(); // checkLogDir x shrink! checkShrinkDir(); @@ -9123,9 +9124,9 @@ namespace IOB_WIN_FORM.Iob { string codIob = IOBConfFull.General.FilenameIOB; bool useRedis = IOBConfFull.General.EnabRedisQue; - QHelp.QueueIN.Dispose(); + if(QHelp.QueueIN!=null) QHelp.QueueIN.Dispose(); QHelp.QueueIN = new DataQueue(codIob, "QueueIN", useRedis, redisMan); - QHelp.QueueSrvResp.Dispose(); + if (QHelp.QueueSrvResp != null) QHelp.QueueSrvResp.Dispose(); QHelp.QueueSrvResp = new DataQueue(codIob, "QueueServResp", useRedis, redisMan); // no coda redis QHelp.QueueAlarm = new DataQueue(codIob, "QueueAlarm", false, redisMan); diff --git a/IOB-WIN-FORM/MainForm.cs b/IOB-WIN-FORM/MainForm.cs index 6746702c..7624385d 100644 --- a/IOB-WIN-FORM/MainForm.cs +++ b/IOB-WIN-FORM/MainForm.cs @@ -29,7 +29,7 @@ namespace IOB_WIN_FORM /// /// oggetto logging /// - public static Logger lg; + protected static Logger lg = LogManager.GetCurrentClassLogger(); /// /// Configurazione gerarchica completa (v 4.x.x.x)