Пример #1
0
 private int sendTelegramToMainWin(TelegramType teleType, object[] senderInfo, DCPFrame repmsg)
 {
     _teleToWin = new Telegram(_teleFromWin.data.Capacity);
     _teleToWin.copy(_teleFromWin);
     _teleToWin.uniqId = GlobalServices.uniqTelegramId();
     _teleToWin.parentUniqId = _teleFromWin.uniqId;
     _teleToWin.type = teleType;
     _teleToWin.protocol = Protocol.DCP2;
     if (repmsg.Len >= 2)
     {
         _teleToWin.data.copy(repmsg.Data, repmsg.Len - 2);
     }
     _teleToWin.replySize = _teleFromWin.replySize;
     _teleToWin.mainWin = _teleFromWin.mainWin;
     _teleToWin.portHandler = this;
     _teleToWin.appFuncId = _teleFromWin.appFuncId;
     _teleToWin.userData = _teleFromWin.userData;
     _teleToWin.setNoHeader();
     _teleToWin.DCPMsgType = repmsg.MsgType;
     _teleToWin.DCPCmdSet = repmsg.CmdSet;
     _teleToWin.SenderInfo = senderInfo;
     try
     {
         if ((teleType == TelegramType.SeriesEndOK) || (teleType == TelegramType.SeriesEndERROR))
         {
             ((Form) _mainWin).BeginInvoke(new TelegramReceiver(_mainWin.telegramFromPortHandler), new object[] { _teleToWin });
         }
         else
         {
             ((Form) _mainWin).Invoke(new TelegramReceiver(_mainWin.telegramFromPortHandler), new object[] { _teleToWin });
         }
     }
     catch (Exception exception)
     {
         _log.Error("IOPH_DATA: Invoking telegramFromPortHandler 2 failed: (TelegramType = " + teleType.ToString() + ")" + exception.Message);
     }
     return 0;
 }
Пример #2
0
 private int sendTelegramToMainWin(TelegramType teleType, object[] senderInfo)
 {
     _teleToWin = new Telegram(_teleFromWin.data.Capacity);
     _teleToWin.copy(_teleFromWin);
     _teleToWin.uniqId = GlobalServices.uniqTelegramId();
     _teleToWin.parentUniqId = _teleFromWin.uniqId;
     _teleToWin.type = teleType;
     _teleToWin.protocol = _teleFromWin.protocol;
     _teleToWin.data.NumItems = 0;
     _teleToWin.replySize = 0;
     _teleToWin.mainWin = _teleFromWin.mainWin;
     _teleToWin.portHandler = this;
     _teleToWin.appFuncId = _teleFromWin.appFuncId;
     _teleToWin.userData = _teleFromWin.userData;
     _teleToWin.SenderInfo = senderInfo;
     if (senderInfo != null)
     {
         _teleToWin.UserDataExt.addUserData("SenderInfo", (string) senderInfo[0]);
     }
     _teleToWin.setNoHeader();
     try
     {
         if (((teleType == TelegramType.SeriesEndOK) || (teleType == TelegramType.SeriesEndERROR)) || (teleType == TelegramType.PortHandlerTerminated))
         {
             ((Form) _mainWin).BeginInvoke(new TelegramReceiver(_mainWin.telegramFromPortHandler), new object[] { _teleToWin });
         }
         else
         {
             ((Form) _mainWin).Invoke(new TelegramReceiver(_mainWin.telegramFromPortHandler), new object[] { _teleToWin });
         }
     }
     catch (Exception exception)
     {
         _log.Error("IOPH_DATA: Invoking telegramFromPortHandler 1 failed: (TelegramType = " + teleType.ToString() + ")" + exception.Message);
     }
     return 0;
 }