Hallo Leute! Ich bin gerade dabei ein Programm in Visual Studio 2008 (C++) zu schreiben, welches mit einem uC über den Com-Port kommuniziert. Der Com-Port wird hierbei über einen FT232 simuliert. Es handelt sich also (eigentlich) um eine Kommunikation per USB. Mein Ziel ist es nun, wenn ich das Gerät austecke, dass meine Software dies erkennt und nicht Abstürzt. Das hab ich soweit schon geschafft, in dem ich mittels "UnauthorizedAccessException" den Fehler beim Lesen oder schreiben vom Com-Port abfange.(Der Port ist ja dann nicht mehr vorhanden) Wenn ich das Kabel allerdings wieder einstecke und der Com-Port somit im System wieder verfügbar ist, ist keine Kommunikation mehr möglich. serialPort1->Open() oder serialPort1->Close() füren beide zu Abstürzen mit der Ansage, dass der Port nicht verfügbar ist. Das heißt wohl: Der Port ist zwar noch offen, aber ich komme nicht mehr dran. Meine Ziel wäre es: Wenn ich da Kabel ausstecke öffnet ein Fenster mit "Device entfernt, bitte wieder einstecken!" und wenn das gemacht wird, soll die Kommunikation wieder wei gehabt weiter gehn. Ich habe gelesen, dass man wohl mit Dispose den serial Port entfernen kann, aber leider klappt das bei mir nicht: serialPORT1->Dispose() führt zu: error C2039: 'Dispose' : is not a member of 'System::IO::Ports::SerialPort' Könnt ihr mir da auf die Sprünge helfen? Bin leider kein erfahrener VS-Nutzer! Vielen Dank!! Grüße, Denglmann
Denglmann schrieb: > Könnt ihr mir da auf die Sprünge helfen? Bin leider > kein erfahrener VS-Nutzer! Weder Erfahrene noch unerfahrene sollten sich des Try-and-Error Programming verschreiben. Wie kommst du darauf das Dispose existiert? Steht das in der Doku? Der Compiler sagt dir zumindestens, dass er soetwas wie Dispose() nicht finden kann... Ansosnten würde ich vermuten das du in jedem Fall ein neues SerialPort Objekt erzeugen müsstest.
Moin, also ich kenne das ganze mit VS2010 in C#. Ich öffne einen Port nachdem ich gecheckt habe ob das Objekt SerialPort1 exestiert und der Port nicht schon offen ist. Ich schließe den Port ebenfalls nachdem ich gecheckt habe ob das Objekt SerialPort1 exestiert und der Port nicht schon geschlossen ist. Das ganze in einen Try and -Catch Block und die bist schon mal auf der sicheren Seite... Diesen Still solltest du dir angewöhnen - kommt immer gut! Gruß jonas
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.