Com Port Überprüfung funktioniert nicht richtig
-
Ich benutze diese Klasse:
http://www.codeguru.com/Cpp/I-N/network/serialcommunications/article.php/c2503/Wieso funktioniert es nur bei der ersten if-Abfrage einer seriellen Schnittstelle anzuzeigen, wenn sie nicht da ist:.
Com1 wird trotzdem als vorhanden angezeigt, auch wenn er abgeschaltet ist.
Tausche ich die Reihenfolge der Abfragen um, so wird Com2, als vorhanden angezeigt, obwohl er deaktiviert ist.// Com-Ports überprüfen, ob sie sich öffnen lassen CSerial Serial; // Wenn Com2 verfügbar ist, dann anzeigen if( Serial.Open( 2, 19200)== TRUE ) GetDlgItem(IDC_COM2)->EnableWindow(TRUE); // Wenn Com2 nicht verfügbar ist, dann Com1 auswählen und Text ausgeben if( Serial.Open( 2, 19200)== FALSE ) { m_text = "Com2 not available"; m_radio_com = 0; } // Wenn Com1 verfügbar ist, dann anzeigen if( Serial.Open( 1, 19200)== TRUE ) GetDlgItem(IDC_COM1)->EnableWindow(TRUE); // Wenn Com1 nicht verfügbar ist, dann Com1 auswählen und Text ausgeben if( Serial.Open( 1, 19200)== FALSE ) { m_text = "Com1 not available"; m_radio_com = 1; } // Wenn beide Ports nicht funktionieren, Datei auswählen deaktivieren if( Serial.Open( 1, 19200) == FALSE && Serial.Open( 2, 19200) == FALSE) GetDlgItem(IDC_DATEI)->EnableWindow(FALSE); // Wenn beide Ports funktionieren, Com1 standardmässig auswählen if( Serial.Open( 1, 19200) == TRUE && Serial.Open( 2, 19200) == TRUE) m_radio_com = 0;