private void QWorksInitialize() { uint version = 0; Qworks.Version(ref version); mErrorLog.AddInformation(string.Format("Qworks version = {0}", version)); uint devnum = 0; int status = Qworks.Initialize(ref devnum); mErrorLog.AddInformation(string.Format("Initialize, status = {0}", status)); mErrorLog.AddInformation(string.Format("Initialize devsum = {0}", devnum)); if (devnum < 1) { mErrorLog.AddError("Qworks initialize error"); } else { //Convert devum to device ID, the device ID should be the bit position uint devcnt = 0; do { if ((devnum & 0x01) == 1)//Get a board { int port = Qworks.GetPort(devcnt); mErrorLog.AddInformation(string.Format("Device number {0}, port = {1}", devcnt, port)); if (mBoardNameDictionary.ContainsKey(port)) { mBoardName = mBoardNameDictionary[port]; } else { mBoardName = "Unknown"; } if (port != 5) { //Now we just support QGF_V7_CPCIe mErrorLog.AddInformation(string.Format("Device number {0} is a {1} board", devcnt, mBoardName)); } else { mErrorLog.AddInformation(string.Format("{0} carrier board detected, device number = {1}", mBoardName, devcnt)); mDeviceID = devcnt; } } devcnt++; devnum = devnum >> 1; } while (devnum != 0); } }
protected void Error(string message) { try { var ei = new System.Runtime.InteropServices.ComTypes.EXCEPINFO(); ei.wCode = (short)ERRORCODE.ADDIN_E_FAIL; ei.bstrSource = this.ToString(); ei.bstrDescription = message; _errorLog.AddError(null, ref ei); } catch { } }
/// <summary> /// Отправить служебное сообщение 1С /// </summary> /// <param name="message"></param> /// <param name="propName"></param> protected void PathMessageToErrorLog(string message, string propName) { var pExcepInfo = new EXCEPINFO { bstrDescription = message, bstrSource = AddInName, pfnDeferredFillIn = (IntPtr)null, pvReserved = (IntPtr)null, scode = (int)S_OK, wCode = ADDIN_E_INFO, wReserved = 0, bstrHelpFile = "", dwHelpContext = 0 }; ErrorLog.AddError(propName, ref pExcepInfo); }