000
24.02.2006, 17:58 Uhr
sv00010
|
Ich benutze diese Klasse: 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.
C++: |
// 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;
|
|