ProcessTabPageCtrl schem. diag. OK, Bridge.StateMachineTickHandler exception handling changed

This commit is contained in:
Milan Hanajik 2022-04-05 09:30:00 +02:00
parent 80f4308ae1
commit fd35f20501
3 changed files with 530 additions and 492 deletions

View File

@ -529,39 +529,48 @@ namespace TBF.UI
/// <param name="args"></param>
void OnStateMachineTick(object sender, StateMachineTickEventArgs args)
{
drawingCtrl.SupressRedraws = true;
try
{
drawingCtrl.SupressRedraws = true;
drawingCtrl.Route = args.Route;
drawingCtrl.Route = args.Route;
/// Duplicate measurement available flags
if (drawingCtrl.MsrmntAvailableFlags == null || drawingCtrl.MsrmntAvailableFlags.Length != args.MsrmntAvailableFlags.Length)
{
drawingCtrl.MsrmntAvailableFlags = new bool[args.MsrmntAvailableFlags.Length];
}
for (int i = 0; i < args.MsrmntAvailableFlags.Length; i++) drawingCtrl.MsrmntAvailableFlags[i] = args.MsrmntAvailableFlags[i];
/// Duplicate measurement available flags
if (drawingCtrl.MsrmntAvailableFlags == null || drawingCtrl.MsrmntAvailableFlags.Length != args.MsrmntAvailableFlags.Length)
{
drawingCtrl.MsrmntAvailableFlags = new bool[args.MsrmntAvailableFlags.Length];
}
for (int i = 0; i < args.MsrmntAvailableFlags.Length; i++) drawingCtrl.MsrmntAvailableFlags[i] = args.MsrmntAvailableFlags[i];
/// Duplicate measured values
if (drawingCtrl.MeasuredValues == null || drawingCtrl.MeasuredValues.Length != args.MeasuredValues.Length)
{
drawingCtrl.MeasuredValues = new double[args.MeasuredValues.Length];
}
for (int i = 0; i < args.MeasuredValues.Length; i++) drawingCtrl.MeasuredValues[i] = args.MeasuredValues[i];
/// Duplicate measured values
if (drawingCtrl.MeasuredValues == null || drawingCtrl.MeasuredValues.Length != args.MeasuredValues.Length)
{
drawingCtrl.MeasuredValues = new double[args.MeasuredValues.Length];
}
for (int i = 0; i < args.MeasuredValues.Length; i++) drawingCtrl.MeasuredValues[i] = args.MeasuredValues[i];
/// Duplicate alternative strings
if (drawingCtrl.AltStrings == null || drawingCtrl.AltStrings.Length != args.AltStrings.Length)
{
drawingCtrl.AltStrings = new string[args.AltStrings.Length];
}
for (int i = 0; i < args.AltStrings.Length; i++) drawingCtrl.AltStrings[i] = args.AltStrings[i];
/// Duplicate alternative strings
if (drawingCtrl.AltStrings == null || drawingCtrl.AltStrings.Length != args.AltStrings.Length)
{
drawingCtrl.AltStrings = new string[args.AltStrings.Length];
}
for (int i = 0; i < args.AltStrings.Length; i++) drawingCtrl.AltStrings[i] = args.AltStrings[i];
/// Duplicate setpoints
if (drawingCtrl.Setpoints == null || drawingCtrl.Setpoints.Length != args.Setpoints.Length)
{
drawingCtrl.Setpoints = new double[args.Setpoints.Length];
}
for (int i = 0; i < args.Setpoints.Length; i++) drawingCtrl.Setpoints[i] = args.Setpoints[i];
/// Duplicate setpoints
if (drawingCtrl.Setpoints == null || drawingCtrl.Setpoints.Length != args.Setpoints.Length)
{
drawingCtrl.Setpoints = new double[args.Setpoints.Length];
}
for (int i = 0; i < args.Setpoints.Length; i++) drawingCtrl.Setpoints[i] = args.Setpoints[i];
drawingCtrl.SupressRedraws = false;
drawingCtrl.SupressRedraws = false;
}
catch (Exception e)
{
log.ErrorFormat("MainWnd.OnStateMachineTick() failed: {0}", e.Message);
if (e.InnerException != null) log.FatalFormat("InnerMessage : {0}", e.InnerException.Message);
log.FatalFormat("StackTrace : {0}{1}", Environment.NewLine, e.StackTrace);
}
}
void OnTestProgress(object sender, UiBridge.TestProgressEventArgs args)

File diff suppressed because it is too large Load Diff

View File

@ -166,9 +166,7 @@ namespace TBF.UiBridge
/// </summary>
public static void OnStateMachineTick(object sender, StateMachineTickEventArgs args)
{
if (StateMachineTickHandler == null) return;
try { StateMachineTickHandler(sender, args); }
catch (Exception e) { string s = e.ToString(); }
if (StateMachineTickHandler != null) StateMachineTickHandler(sender, args);
}
public static event EventHandler<StateMachineTickEventArgs> StateMachineTickHandler;