Warum wird mein Code nicht ausgeführt?
-
Hi,
mein Code wird nicht ausgeführt. Obwohl der "COM3" in der Combobox vorhanden ist. Wenn ich die if Anweisung vor das try setze, klappt das auch und der Com3 wird geöffnet. Wenn ich die if Anweisung weg lasse, kann ich ComPort3->Open() auch in die try Funktion schreiben und der Port wird auch geöffnet. Ich brauche aber unbedingt das abfangen der Fehlermeldung und die if Anweisung, wenn der Port nicht geöffnet werden kann.try { if (ComboBox1->Text == "COM3") ComPort3->Open(); } catch(Exception& e) { (Application->MessageBox("Fehler beim öffnen vom Com 3 !!", NULL, MB_OK) != IDOK); }
Gruß
Kohli
-
Warum das nicht geht weiß ich nicht, aber warum machste es nicht so?
if (ComboBox1->Text == "COM3") try { ComPort3->Open(); } catch(Exception& e) { (Application->MessageBox("Fehler beim öffnen vom Com 3 !!", NULL, MB_OK) != IDOK); }
Dann überprüfst du vorher ob com3 gewählt ist
-
Hi,
habe ich gemacht, aber er führt die Anweisung immer noch nicht aus. Das gibt mir wieder Rätsel auf.
Denn so macht er es.if (ComboBox1->Text == "COM3") ComPort3->Open();
Aber dann kann ich die Fehlermeldung nicht abfangen.
Gruß
Kohli
-
Hallo
das schreiht doch nach dem Debugger
MfG
Klaus
-
OH OH,
Denkfehler. Ich wähle nichts in der ComboBox aus, ich möchte nur in der Stringliste schauen ob ein Eintrag COMx-COMy vorhanden ist. Ich schreibe beim Starten des Programmes alle Comports die im System vorhanden sind in die Stringliste der ComboBox.
Wie kann ich die Funktion jetzt umschreiben, das er nach dem vorhandenem String schaut?Gruß
Kohli
-
Hi,
schau man in der Hilfe nach:TStrings::IndexOf(const System::AnsiString S);
MfG
Alexander Sulfrian
-
Klasse,
vielen Dank so klappt es. Da kann ich endlich in ruhe schlafen.if (ComboBox1->Items->IndexOf("COM3") > -1)
Gruß
Kohli