private void phl_ErrorConnect(Stack_phl.EnumError Tipo) { Console.WriteLine(" phl_ErrorConnect: " + Tipo); // Se ha recibido un error fatal del puerto serie, se debe finalizar la conexión if (!m_bErrorConnect) { //Debug.Print("phl_ErrorConnect: " & Tipo.ToString) if (ErrorConnectEvent != null) { ErrorConnectEvent(Tipo); } } m_bErrorConnect = true; }
private void Event_ConnectionError(Stack_phl.EnumError Tipo) { //Es necesario lanzar el evento en un nuevo thread ya que los eventos lo ejecuta el mismo thread, y si hay algún mutex se puede producir un 'dead lock' System.Threading.Thread t = new System.Threading.Thread(() => ConnectionErrorEvent(EnumConnectError.PHYSICAL, (byte)(0xFF), (byte)0)); //no importa quién provoque el error ya que es para todo el canal de comunicaciones t.Start(); }