From eafdcc5ad6a55d3dfdec6c4787c3f3a9f32efc7f Mon Sep 17 00:00:00 2001 From: xcd <834800634@qq.com> Date: 星期二, 29 九月 2020 13:27:50 +0800 Subject: [PATCH] 1. M071B机台配置 2. GTS板卡添加回原点捕获模式和输入信号模式 3. CameraBase使用Dictionary类型做图片缓存 4. M071流程显式Copy,原来是为了避免内存泄漏,但目前来看不是这方面原因 5. Gocator驱动添加GoDataSet之类KObject资源显式回收,怀疑其中也有非托管对象资源,测试确实起到内存回收作用 --- src/Bro.M071.Process/UI/M071_MainForm.cs | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 54 insertions(+), 3 deletions(-) diff --git a/src/Bro.M071.Process/UI/M071_MainForm.cs b/src/Bro.M071.Process/UI/M071_MainForm.cs index 6aa59b8..7035785 100644 --- a/src/Bro.M071.Process/UI/M071_MainForm.cs +++ b/src/Bro.M071.Process/UI/M071_MainForm.cs @@ -40,6 +40,10 @@ cvImage.SetScreenSize(); cvImage.OnElementChangedHandle -= CvImage_OnElementChangedHandle; cvImage.OnElementChangedHandle += CvImage_OnElementChangedHandle; + + timer1.Enabled = true; + + btnReset.Text = $"澶嶄綅锛堥暱鎸墈Config.FullResetRequiredDuration}绉掑ぇ澶嶄綅锛�"; }; } @@ -135,6 +139,27 @@ { tscEditLocation.Visible = tsmiShowEditor.Checked; tscEditLocation.BringToFront(); + } + + private void tsmiRefreshLabels_Click(object sender, EventArgs e) + { + cvImage.Elements.Clear(); + lvMeasures.Items.Clear(); + + Config.MeasurementUnitCollection.ForEach(u => + { + if (!u.IsEnabled) + return; + + var ele = new KeyIndicator(u.Id, u.DisplayLocation); + cvImage.Elements.Add(ele); + + ListViewItem item = new ListViewItem(u.GetDisplayText()); + item.Tag = u.Id; + lvMeasures.Items.Add(item); + }); + + this.Invalidate(); } #endregion @@ -235,6 +260,23 @@ #region 鏍囩缁撴灉鏄剧ず private async void Process_M071_OnElementUpdated(Common.Interface.IShapeElement obj) { + //this.Invoke(new Action(() => + //{ + // if (obj is KeyIndicator keyIndicator) + // { + // var ele = cvImage.Elements.FirstOrDefault(u => u.ID == keyIndicator.ID); + + // //(ele as KeyIndicator).Text = keyIndicator.Text; + // //(ele as KeyIndicator).ResultState = keyIndicator.ResultState; + // if (ele != null) + // { + // ele = keyIndicator; + // } + + // this.Invalidate(); + // } + //})); + if (obj is KeyIndicator keyIndicator) { this.Invoke(new Action(() => @@ -262,6 +304,10 @@ if (keyStr.Length == 1) { _barcode += keyStr.ToUpper(); + } + else if (keyStr.Length == 2 && keyStr.StartsWith("D")) + { + _barcode += keyStr.Substring(1).ToUpper(); } if (e.KeyValue == 13) @@ -292,7 +338,7 @@ { if (lblMachineState.IsHandleCreated) { - lblMachineState.BeginInvoke(new Action(() => + lblMachineState.Invoke(new Action(() => { switch (state) { @@ -316,7 +362,7 @@ btnStartMeasure.BackColor = lblMachineState.BackColor = Color.Lime; btnStartMeasure.ForeColor = lblMachineState.ForeColor = Color.Black; lblMachineState.Text = "灏辩华"; - + btnStartMeasure.Text = "寮�濮嬫祴閲�"; btnStartMeasure.Enabled = true; break; @@ -445,7 +491,7 @@ Process_M071.Reset(null, null, null); } - Process_M071.ResetTimer.Change(1000 * 5, -1); + Process_M071.ResetTimer.Change(1000 * Config.FullResetRequiredDuration, -1); } private void btnReset_MouseUp(object sender, MouseEventArgs e) @@ -453,5 +499,10 @@ Process_M071.ResetTimer.Change(-1, -1); } #endregion + + private void timer1_Tick(object sender, EventArgs e) + { + cvImage.Refresh(); + } } } -- Gitblit v1.8.0