Hallo allemaal,
Ik zit met het volgende probleem. Ik heb een applicatie die de COM poort die door een USB naar COM driver wordt gemaakt inleest. Tot dusverre geen probleem, alles werkt zoals het moet. Wanneer ik echter de USB kabel eruit trek kan ik niks meer met mijn poort.
Ik praat met de poort via de "SerialPort" class, deze verteld mij dat de poort nog open is terwijl de kabel er al lang en breed uit is. Ook is de poort niet meer de vinden in de SerialPort.GetPortNames() functie.
Ook wanneer ik mijn applicatie laat wachten totdat de poort er weer is, is de poort nog steeds ontoegankelijk.
Ik kan wel een nieuwe instantie maken van de SerialPort class maar dit lost mijn probleem slechts tijdelijk op. Wanneer ik mijn applicatie sluit geeft hij een melding dat hij de poort niet kan disposen omdat het een refentie is naar en null-object.
Ik hoop dat jullie het snappen (mijn verhaal en het probleem) want ik heb geen idee meer.
Oplossing!
Een drietal threads aanmaken die elk een dispose op de instance aanroepen. Allemaal in een try/catch en voila! Het is misschien niet de meest nette oplossing, maar het werkt!
Ik zit met het volgende probleem. Ik heb een applicatie die de COM poort die door een USB naar COM driver wordt gemaakt inleest. Tot dusverre geen probleem, alles werkt zoals het moet. Wanneer ik echter de USB kabel eruit trek kan ik niks meer met mijn poort.
Ik praat met de poort via de "SerialPort" class, deze verteld mij dat de poort nog open is terwijl de kabel er al lang en breed uit is. Ook is de poort niet meer de vinden in de SerialPort.GetPortNames() functie.
Ook wanneer ik mijn applicatie laat wachten totdat de poort er weer is, is de poort nog steeds ontoegankelijk.
Ik kan wel een nieuwe instantie maken van de SerialPort class maar dit lost mijn probleem slechts tijdelijk op. Wanneer ik mijn applicatie sluit geeft hij een melding dat hij de poort niet kan disposen omdat het een refentie is naar en null-object.
Ik hoop dat jullie het snappen (mijn verhaal en het probleem) want ik heb geen idee meer.
Oplossing!
Een drietal threads aanmaken die elk een dispose op de instance aanroepen. Allemaal in een try/catch en voila! Het is misschien niet de meest nette oplossing, maar het werkt!
[ Voor 9% gewijzigd door Tepel op 21-12-2006 22:16 . Reden: Solved!! ]