Was wir versuchen dir zu erklären ist, dass es nicht unbedingt an deinem Programm liegen muss. Aber auch wie man es in seinem eigenen Programm abfangen kann.
Hier noch mal die zusammenfassung der Ideen die du in deinem Programm umsetzen kannst: (Nachdem du überprüft hast ob du garantiert den richtigen Comport ausgewählt hast)
1. Schließe den Comport beim beenden des Programms
2. Bevor du den Comport öffnest kannst du versuchen ihn zu schließen.

Ansonsten würde ich dir vorschlagen meine Liste mit Ursachen der Reihe nach auszuschließen. Wenn du uns schreibst welches Betriebssystem du verwendest können wir dir dabei auch noch weiterhelfen.

Zitat Zitat von shedepe Beitrag anzeigen
Das Verhalten kann durch mehrere Ursachen entstehen.
1. Du öffnest den falschen Comport der bereits durch ein anderes Programm belegt ist
2. Du öffnest den richtigen Comport der aber bereits durch ein anderes Programm belegt ist
3. Dein Programm schließt den Comport nicht (richtig). Dadurch kann es sein dass das Betriebssystem denkt dass dein Programm eben den Port noch geöffnet hat (kann gerade unter Linux passieren)