Autor Beitrag
Christoph1972
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Mi 06.05.09 20:11 
Hallo,

ich habe eine Anwendung erstellt, die mit externer Hardware via RS232 kommuniziert. Dazu hat der User die Möglichkeit, im Setup der Anwendung, die Baudrate einzustellen. Nun habe ich folgendes Problem, wenn der User in der Anwendung eine Baudrate einstellt, die nicht der Baudrate der Hardware entspricht, werden keine Daten empfangen (logisch). Wenn der User nun den SerialPort schließt, führt das zum total Absturz. Die Exeption lautet: Der E/A-Vorgang wurde wegen eines Threadendes oder einer Anwendungsanforderung abgebrochen. (eigentlich auch logisch) Wenn ich ein TimeOut setze, wird zwar eine Info angezeigt, aber das Problem bleibt bestehen. Ein Event für das Timeout gibt es leider nicht, in dem man das Lesen beenden könnte.

Hat zufällig jemand eine Idee, wie ich das Problem abfangen kann? So ist es definitiv ungenügend, da der User nicht mal erkennt welcher Parameter den Fehler verursacht hat.


Gruß
Christpoh
Christoph1972 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Fr 08.05.09 15:23 
Hm, dann muss ich die Baudrate wohl konstant machen. Was aber, wenn bei einem neuen Messgerät die Baudrate ebenfalls eine Konstante ist? Oder die Baudrate noch nicht konform eingestellt wurde, dann säuft die Anwendung ohne Hinweis ab. Das kann/darf doch nicht sein.


Na ja, vielleicht hat ja doch noch jemand eine Idee.......



Gruß
Christoph