diff --git a/IOB-WIN/IOB-WIN.csproj b/IOB-WIN/IOB-WIN.csproj index 5e1a53b5..78260727 100644 --- a/IOB-WIN/IOB-WIN.csproj +++ b/IOB-WIN/IOB-WIN.csproj @@ -1,5 +1,10 @@  + + + + + Debug @@ -486,6 +491,17 @@ + + + + + + + + + + + "$(ProjectDir)setupTgt.bat" "$(ConfigurationName)" "$(ProjectDir)" @@ -507,6 +523,11 @@ + + + + + diff --git a/IOB-WIN/IobGeneric.cs b/IOB-WIN/IobGeneric.cs index 8035c164..673f9118 100644 --- a/IOB-WIN/IobGeneric.cs +++ b/IOB-WIN/IobGeneric.cs @@ -6,6 +6,7 @@ using System; using System.Collections; using System.Collections.Concurrent; using System.Collections.Generic; +using System.ComponentModel; using System.Diagnostics; using System.Globalization; using System.IO; @@ -390,6 +391,75 @@ namespace IOB_WIN #endregion + #region Area BackGroundWorker + + /// + /// Worker x azioni su thread separato + /// + private BackgroundWorker backgroundWorker; + //handler for DoWork Event + private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) + { + //your background process task + //. + //. + //. + //calculate progress percentage + int progPercentage = 10; + //notify the progress. backGroundWorker_ProgressChanged() will be called + backgroundWorker.ReportProgress(progPercentage); + } +//Handler for Button Click Event +private void btnDoSomeAsyncTask_Click(object sender, EventArgs e) + { + if (backgroundWorker == null) + { + //initialize backgroundworker + backgroundWorker = new BackgroundWorker(); + } + else + { + bool start = true; + //check whether operation is already in progress + if (backgroundWorker.IsBusy) + { + if (MessageBox.Show("The requested task already in progress. Abort current process continue with the fresh task?", +"Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.No) + { + start = false; + } + else //cancel the current operation + { + //for this operation WorkerSupportsCancellation shoulb + backgroundWorker.CancelAsync(); + } + } + if (start) + { +#if false + //Call the hooked method backGroundWorker_DoWork() containing object sent in DoWorkEventArgs + backgroundWorker.RunWorkerAsync(objectToBeUsedInAsyncOperation); +#endif + } + } + } +//Handler for progress Changed Event +private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) + { +#if false + //update the UI here + progressBar.Value = e.ProgressPercentage; +#endif + } + //Handler For RunWorkerCompleted event + private void backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + { + //Task to be performed after completion of background task.Like Give some message. + MessageBox.Show("Task Completed"); + } + + #endregion + /// /// Form chiamante /// @@ -2990,6 +3060,21 @@ namespace IOB_WIN return answ; } /// + /// + /// + /// + /// + /// + /// + public void saveValue(ref Dictionary outVal, double valore, string chiave) + { + bool scaduto = stackVal_TSVC(chiave, valore); + // recupero VC + valore = getVal_TSVC(chiave, scaduto); + if (scaduto) outVal.Add(chiave, $"{valore}"); + LastTSVC[chiave] = valore; + } + /// /// Recupera la VC x TS, svuotando lista e resettando periodo partenza /// /// Nome della VC diff --git a/IOB-WIN/IobSiemens.cs b/IOB-WIN/IobSiemens.cs index e1355c57..ceb73497 100644 --- a/IOB-WIN/IobSiemens.cs +++ b/IOB-WIN/IobSiemens.cs @@ -377,7 +377,6 @@ namespace IOB_WIN lgInfo($"Init IOB, con {iobConfSer}"); } - /// /// Test connessione CNC /// @@ -1015,21 +1014,6 @@ namespace IOB_WIN } return outVal; } - /// - /// - /// - /// - /// - /// - /// - private void saveValue(ref Dictionary outVal, double valore, string chiave) - { - bool scaduto = stackVal_TSVC(chiave, valore); - // recupero VC - valore = getVal_TSVC(chiave, scaduto); - if (scaduto) outVal.Add(chiave, $"{valore}"); - LastTSVC[chiave] = valore; - } #endregion } diff --git a/IOB-WIN/packages.config b/IOB-WIN/packages.config index afd5969e..3c1ecd60 100644 --- a/IOB-WIN/packages.config +++ b/IOB-WIN/packages.config @@ -5,6 +5,11 @@ + + + + +