/// <summary> /// 集中处理操作返回错误码,并生成错误说明信息; /// </summary> /// <param name="eCode">tagErrorCode</param> /// <returns>错误说明信息</returns> public static string HandleError(DevControl.tagErrorCode eCode) { string errorMsg; switch (eCode) { case DevControl.tagErrorCode.DM_ERR_OK: case DevControl.tagErrorCode.DM_ERR_PARA: case DevControl.tagErrorCode.DM_ERR_AUTHFAIL: case DevControl.tagErrorCode.DM_ERR_TIMEOUT: case DevControl.tagErrorCode.DM_ERR_OPR: errorMsg = GetErrorMsg(eCode); break; case DevControl.tagErrorCode.DM_ERR_NOAUTH: errorMsg = GetErrorMsg(eCode); break; case DevControl.tagErrorCode.DM_ERR_SOCKET: case DevControl.tagErrorCode.DM_ERR_MEM: case DevControl.tagErrorCode.DM_ERR_MATCH: case DevControl.tagErrorCode.DM_ERR_ARG: errorMsg = GetErrorMsg(eCode); Log.WriteError(errorMsg); errorMsg = "Soft internal error!"; break; default: errorMsg = "No support this tagErrorCode!"; Debug.Fail(errorMsg); break; }; return errorMsg; }
/// <summary> /// 集中处理操作返回错误码,并生成错误说明信息; /// </summary> /// <param name="eCode">tagErrorCode</param> /// <returns>错误说明信息</returns> public static string HandleDeviceError(DevControl.tagErrorCode eCode, DeviceClass device) { string errorMsg; if (eCode == DevControl.tagErrorCode.DM_ERR_NOAUTH) { LoginForm loginform = new LoginForm(); DialogResult result = loginform.ShowDialog(); if (result == DialogResult.OK) { eCode = device.Login(loginform.UserName, loginform.Password); } } errorMsg = HandleError(eCode); return errorMsg; }
/// <summary> /// 获取错误说明信息; /// </summary> /// <param name="eCode">tagErrorCode</param> /// <returns>错误说明信息</returns> public static string GetErrorMsg(DevControl.tagErrorCode eCode) { Debug.Assert((uint)eCode < errorMsg.Length); return errorMsg[(uint)eCode]; }
/// <summary> /// 添加控件与PARA_TYPES间的映射关系; /// </summary> /// <param name="propertyName">控件标识,使用控件的AccessibleName属性作为标识;</param> /// <param name="paraType">DevControl.PARA_TYPES</param> /// <returns>是否添加成功</returns> public bool AddPropertyParaMap(string propertyName, DevControl.PARA_TYPES paraType) { //增加控件与设备参数间的映射关系; return this._propertyParaMap.AddPropertyParaMap(propertyName, paraType); }
/// <summary> /// 使用PARA_TYPES查找其所对应的控件标识; /// </summary> /// <param name="paraType">DevControl.PARA_TYPES</param> /// <returns>对应的控件标识</returns> public string FindPropertyByPara(DevControl.PARA_TYPES paraType) { return (string)this.propertyParaMap[(int)paraType]; }
/// <summary> /// 使用控件标识查找其所对应的PARA_TYPES; /// </summary> /// <param name="propertyName">控件标识;</param> /// <param name="paraType">DevControl.PARA_TYPES</param> /// <returns>是否添加成功</returns> public bool FindParaByProperty(string propertyName, ref DevControl.PARA_TYPES paraType) { int index = 0; foreach (string name in this.propertyParaMap) { if (propertyName.Equals(name)) { paraType = (DevControl.PARA_TYPES)index; return true; } index++; } return false; }
/// <summary> /// 添加控件与PARA_TYPES间的映射关系; /// </summary> /// <param name="propertyName">控件标识;</param> /// <param name="paraType">DevControl.PARA_TYPES</param> /// <returns>是否添加成功</returns> public bool AddPropertyParaMap(string propertyName, DevControl.PARA_TYPES paraType) { int mapIndex = (int)paraType; Debug.Assert(mapIndex < this.propertyParaMap.Length) ; Debug.Assert(this.propertyParaMap[mapIndex] == null) ; this.propertyParaMap[mapIndex] = propertyName; return true; }