private bool disposedValue = false; // 要检测冗余调用 protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { try { bConnectOk = false; if (Image != null) { Image.Dispose(); } if (latestFrameAddress != null) { Marshal.FreeHGlobal(latestFrameAddress); latestFrameAddress = IntPtr.Zero; } } catch (Exception e) { LogFileManager.Error("Camera", e.ToString()); } // TODO: 释放托管状态(托管对象)。 } // TODO: 释放未托管的资源(未托管的对象)并在以下内容中替代终结器。 // TODO: 将大型字段设置为 null。 disposedValue = true; } }
/// <summary> /// 巴斯勒相机 /// </summary> /// <returns></returns> public static List <string> GetBaslerCameraListInfo() { List <string> cameralist = new List <string>(); try { List <ICameraInfo> allCameraInfos = CameraFinder.Enumerate(); foreach (ICameraInfo cameraInfo in allCameraInfos) { cameralist.Add(cameraInfo[CameraInfoKey.UserDefinedName]); } } catch (Exception e) { LogFileManager.Error("Camera", e.ToString()); } return(cameralist); }
/// <summary> /// 海康相机 /// </summary> /// <returns></returns> public static List <string> GetHikCameraListInfo() { List <string> cameralist = new List <string>(); try { MyCamera.MV_CC_DEVICE_INFO_LIST stDevList = new MyCamera.MV_CC_DEVICE_INFO_LIST(); int nRet = MyCamera.MV_CC_EnumDevices_NET(MyCamera.MV_GIGE_DEVICE, ref stDevList); if (MyCamera.MV_OK != nRet) { return(cameralist); } ///设备信息 MyCamera.MV_CC_DEVICE_INFO stDevInfo; for (int i = 0; i < stDevList.nDeviceNum; i++) { stDevInfo = (MyCamera.MV_CC_DEVICE_INFO)Marshal.PtrToStructure(stDevList.pDeviceInfo[i], typeof(MyCamera.MV_CC_DEVICE_INFO)); if (MyCamera.MV_GIGE_DEVICE == stDevInfo.nTLayerType) { MyCamera.MV_GIGE_DEVICE_INFO stGigEDeviceInfo = (MyCamera.MV_GIGE_DEVICE_INFO)MyCamera.ByteToStruct(stDevInfo.SpecialInfo.stGigEInfo, typeof(MyCamera.MV_GIGE_DEVICE_INFO)); if (!string.IsNullOrEmpty(stGigEDeviceInfo.chUserDefinedName)) { cameralist.Add(stGigEDeviceInfo.chUserDefinedName); } } else if (MyCamera.MV_USB_DEVICE == stDevInfo.nTLayerType) { MyCamera.MV_USB3_DEVICE_INFO stUsb3DeviceInfo = (MyCamera.MV_USB3_DEVICE_INFO)MyCamera.ByteToStruct(stDevInfo.SpecialInfo.stUsb3VInfo, typeof(MyCamera.MV_USB3_DEVICE_INFO)); if (!string.IsNullOrEmpty(stUsb3DeviceInfo.chUserDefinedName)) { cameralist.Add(stUsb3DeviceInfo.chUserDefinedName); } } } } catch (Exception e) { LogFileManager.Error("Camera", e.ToString()); } return(cameralist); }
protected virtual void WriteErrorLog(string errorMessage) { LogFileManager.Error("Display", errorMessage); }
/// <summary> /// 显示询问用户信息,并显示错误标志 /// </summary> /// <param name="message">错误信息</param> public static DialogResult ShowYesNoAndError(string message) { LogFileManager.Error("Task", message); return(MessageBox.Show(message, "错误信息", MessageBoxButtons.YesNo, MessageBoxIcon.Error)); }
protected virtual void WriteErrorLog(string fileName, string errorMessage) { LogFileManager.Error(fileName, errorMessage); }
protected void WriteErrorLog(string errorMessage) { LogFileManager.Error("Camera", errorMessage); }
public static bool TrySetTaskVarValue(string taskName, string varialbleName, object value) { try { if (doc != null) { var variable = doc.TaskVariablesInfoList.Find(p => p.TaskName == taskName && p.VariableName == varialbleName); if (variable != null) { switch (variable.variableType) { case VisionUtil.EnumStrucks.VariableType.Double: VariableInfo <double> dinfo = variable as VariableInfo <double>; if (dinfo != null) { dinfo.Value = Convert.ToDouble(value); } break; case VisionUtil.EnumStrucks.VariableType.String: VariableInfo <string> sinfo = variable as VariableInfo <string>; if (sinfo != null) { sinfo.Value = Convert.ToString(value); } break; case VisionUtil.EnumStrucks.VariableType.Image: VariableInfo <HImage> iinfo = variable as VariableInfo <HImage>; if (iinfo != null) { iinfo.Value = (HImage)value; } break; case VisionUtil.EnumStrucks.VariableType.Region: VariableInfo <HRegion> rinfo = variable as VariableInfo <HRegion>; if (rinfo != null) { rinfo.Value = (HRegion)value; } break; case VisionUtil.EnumStrucks.VariableType.XLD: VariableInfo <HXLDCont> xinfo = variable as VariableInfo <HXLDCont>; if (xinfo != null) { xinfo.Value = (HXLDCont)value; } break; } return(true); } } } catch (Exception ex) { LogFileManager.Error("VariableLog", ex.ToString()); } return(false); }
public static object TryGetGlobalVarValue(string varialbleName) { object value = new object(); try { if (doc != null) { var variable = doc.GlobalVariablesInfoList.Find(p => p.VariableName == varialbleName); if (variable != null) { switch (variable.variableType) { case VisionUtil.EnumStrucks.VariableType.Double: VariableInfo <double> dinfo = variable as VariableInfo <double>; if (dinfo != null) { value = dinfo.Value; } break; case VisionUtil.EnumStrucks.VariableType.String: VariableInfo <string> sinfo = variable as VariableInfo <string>; if (sinfo != null) { value = sinfo.Value; } break; case VisionUtil.EnumStrucks.VariableType.Image: VariableInfo <HImage> iinfo = variable as VariableInfo <HImage>; if (iinfo != null) { value = iinfo.Value; } break; case VisionUtil.EnumStrucks.VariableType.Region: VariableInfo <HRegion> rinfo = variable as VariableInfo <HRegion>; if (rinfo != null) { value = rinfo.Value; } break; case VisionUtil.EnumStrucks.VariableType.XLD: VariableInfo <HXLDCont> xinfo = variable as VariableInfo <HXLDCont>; if (xinfo != null) { value = xinfo.Value; } break; } return(true); } } } catch (Exception ex) { LogFileManager.Error("VariableLog", ex.ToString()); } return(value); }