示例#1
0
        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;
            }
        }
示例#2
0
        /// <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);
        }
示例#3
0
        /// <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);
        }
示例#4
0
 protected virtual void WriteErrorLog(string errorMessage)
 {
     LogFileManager.Error("Display", errorMessage);
 }
示例#5
0
 /// <summary>
 /// 显示询问用户信息,并显示错误标志
 /// </summary>
 /// <param name="message">错误信息</param>
 public static DialogResult ShowYesNoAndError(string message)
 {
     LogFileManager.Error("Task", message);
     return(MessageBox.Show(message, "错误信息", MessageBoxButtons.YesNo, MessageBoxIcon.Error));
 }
示例#6
0
 protected virtual void WriteErrorLog(string fileName, string errorMessage)
 {
     LogFileManager.Error(fileName, errorMessage);
 }
示例#7
0
 protected void WriteErrorLog(string errorMessage)
 {
     LogFileManager.Error("Camera", errorMessage);
 }
示例#8
0
        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);
        }
示例#9
0
        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);
        }