| | |
| | | |
| | | namespace Bro.Common.Base |
| | | { |
| | | public class HDevEngineTool |
| | | public class HDevEngineTool : IDisposable |
| | | { |
| | | #region 常量 |
| | | |
| | |
| | | /// <summary> |
| | | /// 程序运行是否成功 |
| | | /// </summary> |
| | | private bool isSuccess = false; |
| | | public bool IsSuccessful { get; set; } = false; |
| | | |
| | | /// <summary> |
| | | /// 控制参数字典 |
| | |
| | | |
| | | 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; |
| | | } |
| | |
| | | |
| | | public HTuple GetResultTuple(string key) |
| | | { |
| | | if (isSuccess) |
| | | if (IsSuccessful) |
| | | { |
| | | return procedureCall.GetOutputCtrlParamTuple(key); |
| | | } |
| | |
| | | |
| | | public HObject GetResultObject(string key, bool ignoreError = false) |
| | | { |
| | | if (ignoreError || isSuccess) |
| | | if (ignoreError || IsSuccessful) |
| | | { |
| | | return procedureCall.GetOutputIconicParamObject(key); |
| | | } |
| | |
| | | return new HObject(); |
| | | } |
| | | } |
| | | |
| | | public void Dispose() |
| | | { |
| | | //foreach (HObject obj in InputImageDic.Values) |
| | | //{ |
| | | // obj.Dispose(); |
| | | //} |
| | | |
| | | procedureCall.Dispose(); |
| | | myEngine.Dispose(); |
| | | } |
| | | } |
| | | |
| | | public static class HalconHelper |