2012-12-11 7 views
5

Czekam na integrację klasy Barcode2 w bibliotece EDMK 2.6 z naszym istniejącym interfejsem skanowania kodów kreskowych.Motorola MC65 - EMDK .NET 2.6 - E_SCN_READTIMEOUT przy użyciu ScanWait()

Podłączyłem przykładowy kod do naszej metody interfejsu StartScan() i zawsze otrzymuję E_SCN_READTIMEOUT jako wynik, mimo że kod wydaje się reagować na skanowanie. (Punkt przerwania na if (scan.Result == Results.SUCCESS) jest trafiony w odpowiedzi na skanie

public void StartScan() 
     { 
      if (!barcode.IsScanPending) 
      { 
       ScanData scan = barcode.ScanWait(2000); // 2 second timeout 
       if (scan.Result == Results.SUCCESS) 
       { 
        if (scan.IsText) 
        { 
         textbox1.Text = scan.Text; 
        } 
       } 
      } 
     } 

Wynik jest zawsze E_SCN_READTIMEOUT, podejrzewam, może to być sprzeczne z DataWedge 3.4 uruchomiony na urządzeniu, ale funkcjonalność skanera i wyzwalacze wydają zależeć od niego.

Pierwsze skanowanie kodów kreskowych do schowka przy użyciu DataWedge nie jest rozwiązaniem dla nas, czy istnieje sposób, aby uzyskać bibliotekę funkcji mimo DataWedge (zakładając, że jest przyczyną limity czasu odczytu)?

+2

Upewnij się, że wyłączyłeś lub odinstalowałeś aplikację DataWedge. Mieliśmy do czynienia z problemem z obecnością DataWedge na urządzeniu. Po usunięciu niestandardowa aplikacja działała poprawnie. DataWedge wydaje się chwytać skaner i wyzwala, a my nie byliśmy w stanie skanować kodów kreskowych. –

Odpowiedz

1

Aplikacja DataWedge musiała zostać wyłączona (można to zrobić s rogrammatycznie za pośrednictwem interfejsu API datawedge firmy Motorola, dziękuję Abdel za podpowiedź tutaj!).

https://docs.symbol.com/ReleaseNotes/Release%20Notes%20-%20DataWedge_3.3.htm

Trochę tło na naszej aplikacji Windows Mobile odsyłającym mamy pojedyncza sprzętowego, który zawiera interfejsy dla wszystkich komponentów sprzętowych i obciążeń związanych typów i zespołów za pośrednictwem refleksji. Jeśli odwołaliśmy się do typów bezpośrednio, powyższy kod zadziałał.

Ostatecznym rozwiązaniem było użycie biblioteki Symbol.Barcode zamiast Symbol.Barcode2.

Powiązane problemy