PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] USB Barkodescanner



valdiz
10.03.2013, 22:53
Hallo Gemeinschaft,
wir habe ein Problem mit Barkodescanner Datlogic GFS 4170 mit USB Anschluss (RS232->USB)
Wir nutzen Windows 7 32Bit. Der Quellkode ist in C++/CLI geschrieben. Kurze Ausschnitte sind unten beigefügt.
Jetzt zu unserem Problem:
Beim Start von dem Programm funktioniert der Scanner nicht immer eiwandfrei.
In 2 von 3 Fällen nach dem Start liest der Scanner keinen Barcode und zeigt dabei aber auch keine Störungen.
Nur wenn ich den USB-Stecker kurz rausziehe und wieder reinstecke, funktioniert der Scanner ohne Probleme
und der Barcode wird gezählt.
Im Geräte-Manager steht aber, dass das Gerät einwandfrei funktioniert.
Wie ich schon erwähnt habe, ist das nicht immer der Fall.
Liegt es an der Schnittstelle oder an unserm Quellcode? Einen anderen Scanner haben wir auch schon eingebaut, aber ohne Erfolg.

Ausschnitt Quellcode:

public:
Form1(void) {
InitializeComponent();
….
if(!serialPortScanerFolie->IsOpen) { serialPortScanerFolie->Open();
….
}


// serialPortScanerFolie
//
this->serialPortScanerFolie->BaudRate = 19200;
this->serialPortScanerFolie->PortName = L"COM8";
this->serialPortScanerFolie->DataReceived += gcnew System::IO::Ports::SerialDataReceivedEventHandler( this, &Form1::serialPortScanerFolie_DataReceived);


Void updateScanerFolie(System::Object^ sender, System::EventArgs^ e)
String ^eingangsDatenScaner;
eingangsDatenScaner = Convert::ToString(serialPortScanerFolie->ReadExisting());
….
….
}


private: System::Void serialPortScanerFolie_DataReceived(System::Object^ sender, system::IO::Ports::SerialDataReceivedEventArgs^ e) {
array<Object^> ^args = {this, e};
Invoke(gcnew EventHandler(this, &Form1::updateScanerFolie), args);
}


Könnte uns jemand vielleicht bei der Lösung dieses Problems weiter helfen? Wir freuen uns über jeden Vorschlag.