Exception Behandlung

ener

Grünschnabel
Ich habe ein Programm zum Datentransfer über eine rs2 geschrieben (welches kontinuierlich Daten ausliest) und will jetzt, das wenn keine Verbindung vorhanden ist (Kabel ab o.ä). , das Programm stoppt und das wenn man den Stecker wieder rein steckt, es weiter läuft.
Ich muß also wissen ob man die ComException irgendwie wieder "zurücksetzen" kann? Wenn dieser nähmlich einmal ausgelöst wurde, kann man die Schnittstelle nicht mehr erreichen.

Bin für Hilfe dankbar.


Reen
 
Zuletzt bearbeitet:
Im Catch-Block ein Log schreiben dass ein Fehler aufgetreten ist und die Schnittstelle neu initialisieren, sollte doch möglich sein oder?
 
Nun ja, der Catch-Teil des Exception-Blockes ist ja dazu da, den Fehler abzufange und zu behandeln. Wenn Du nun keine Fehlermeldung anzeigst, sondern abzuarbeitenden Code reinschreibst dann solltest Du schon irgendwo die Fehlermeldung aufzeichnen. ZB eben in einer Log Datei.

Wobei du natürlich das ganze so handhaben kannst, dass Du zB einen Timer laufen läßt, der checkt ob die Verbindung da ist. Tritt nun deine genannte Exception auf, dann versuchst du einfach wieder die Verbindung aufzubauen.
 
Das mit der neu Initialisierung des Portes haut nicht hin. Wenn ich ihn neu initialisieren will, schmeißt er mir wieder die Comexception raus (trotz vorhandener Verbindung)
 
Ich hab das jetzt so in der Reihenfolge gemacht wie oben geschrieben. Wenn aber die Schnittstelle neu initialisiert werden soll kommt folg. Fehlermeldung:
"Ein Com-Objekt, das von darunterliegenden RCW getrennt wurde, kann nicht verwendet werden."
 
Ich habs jetzt hinbekommen. Ging ohne Dispose(). Einfach Objekt neu angelegt und danach initialisiert.

THX @ Norbert
 

Neue Beiträge

Zurück