From 1c4426810c71eead57084be8a18ade8d314dd8c4 Mon Sep 17 00:00:00 2001
From: patrick <patrick.xu@broconcentric.com>
Date: 星期二, 10 十二月 2019 14:24:31 +0800
Subject: [PATCH] 1. 重构项目

---
 src/Bro.Device.Common/DeviceBase/HDevEngineTool.cs |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/src/Bro.Device.Common/DeviceBase/HDevEngineTool.cs b/src/Bro.Device.Common/DeviceBase/HDevEngineTool.cs
index 6e3645f..bb3966c 100644
--- a/src/Bro.Device.Common/DeviceBase/HDevEngineTool.cs
+++ b/src/Bro.Device.Common/DeviceBase/HDevEngineTool.cs
@@ -12,7 +12,7 @@
 
 namespace Bro.Common.Base
 {
-    public class HDevEngineTool
+    public class HDevEngineTool : IDisposable
     {
         #region 甯搁噺
 
@@ -41,7 +41,7 @@
         /// <summary>
         /// 绋嬪簭杩愯鏄惁鎴愬姛
         /// </summary>
-        private bool isSuccess = false;
+        public bool IsSuccessful { get; set; } = false;
 
         /// <summary>
         /// 鎺у埗鍙傛暟瀛楀吀
@@ -132,11 +132,11 @@
 
                 procedureCall.Execute();
 
-                isSuccess = true;
+                IsSuccessful = true;
             }
             catch (HDevEngineException ex)
             {
-                isSuccess = false;
+                IsSuccessful = false;
                 Trace.TraceInformation("HDevProgram {0} Run fail , Line number: {1}, Halcon error number : {2},ex:{3}", ex.ProcedureName, ex.LineNumber, ex.HalconError, ex.Message);
                 return;
             }
@@ -144,7 +144,7 @@
 
         public HTuple GetResultTuple(string key)
         {
-            if (isSuccess)
+            if (IsSuccessful)
             {
                 return procedureCall.GetOutputCtrlParamTuple(key);
             }
@@ -157,7 +157,7 @@
 
         public HObject GetResultObject(string key, bool ignoreError = false)
         {
-            if (ignoreError || isSuccess)
+            if (ignoreError || IsSuccessful)
             {
                 return procedureCall.GetOutputIconicParamObject(key);
             }
@@ -166,6 +166,17 @@
                 return new HObject();
             }
         }
+
+        public void Dispose()
+        {
+            //foreach (HObject obj in InputImageDic.Values)
+            //{
+            //    obj.Dispose();
+            //}
+
+            procedureCall.Dispose();
+            myEngine.Dispose();
+        }
     }
 
     public static class HalconHelper

--
Gitblit v1.8.0