Freigeben über


Scannerimplementierung (POS für .NET v1.14 SDK-Dokumentation)

Ein Scannergerät wird verwendet, um Barcodedaten zu lesen.

Der Scanner ist ein exklusiv verwendetes Gerät wie folgt:

  • Die Anwendung muss das Gerät vor der Aktivierung beanspruchen.
  • Die Anwendung muss das Gerät beanspruchen und aktivieren, bevor das Gerät mit dem Lesen der Eingabe beginnt.

Das Scannerobjekt folgt dem allgemeinen Modell für die ereignisgesteuerte Eingabe:

  • Wenn Eingaben vom Gerät empfangen werden, wird ein DataEvent-Ereignis mithilfe der Microsoft-Hilfsmethode ScannerBase.GoodRead in die Warteschlange gestellt. Wenn das Gerät fehlerhafte Daten empfängt, kann das Serviceobjekt auch ein ErrorEvent-Ereignis in die Warteschlange stellen, indem ScannerBase.FailedRead aufgerufen wird.
  • Wenn die PosCommon.AutoDisable-Eigenschaft auf true festgelegt ist, legt die ScannerBase-Klasse die PosCommon.EnableDevice-Eigenschaft auf false fest. Wenn Ihr Serviceobjekt diese Methode implementiert hat, muss es das Gerät nach Bedarf deaktivieren.

Ein DataEvent-Ereignis in der Warteschlange wird nur an die Anwendung übermittelt, wenn die Eigenschaft ScannerBase.DataEventEnabled auf true festgelegt ist.

  • Die UnifiedPOS-Spezifikation (Unified Point Of Service) erfordert, dass Daten aus dem eingehenden DataEvent in die entsprechenden Eigenschaften kopiert werden, bevor sie an die Anwendung übermittelt werden. Die Methode ScannerBase.PreFireEvent, die kurz vor der Übermittlung von DataEvent an die Anwendung aufgerufen wird, erfüllt diese Anforderung, indem ScannerBase.DecodeScanDataLabel und ScannerBase.DecodeScanDataType aufgerufen werden, wenn die DecodeData-Eigenschaft auf true festgelegt ist. In der Regel müssen Sie diese Methoden in Ihrem Serviceobjekt implementieren.
  • Gescannte Daten werden in die Scanner.BaseScanData-Eigenschaft eingefügt. Wenn die Anwendung die ScannerBase.DecodeData-Eigenschaft auf true festgelegt hat, werden die Daten in die Eigenschaften ScannerBase.ScanDataLabel und ScanDataType decodiert.
  • Bevor das DataEvent an die Anwendung übermittelt wird, wird die Eigenschaft ScannerBase.DataEventEnabled auf false festgelegt. Dadurch wird verhindert, dass weitere DataEvents an die Anwendung übermittelt werden, bis die Verarbeitung des aktuellen abgeschlossen ist. Die Anwendung legt ScannerBase.DataEventEnabled auf true fest, wenn sie bereit ist, eingehende Ereignisse zu verarbeiten.
  • Die ScannerBasic.DataCount-Eigenschaft kann gelesen werden, um die Gesamtanzahl der Ereignisse in der Warteschlange abzurufen.
  • Alle Ereignisse in der Warteschlange können durch Aufrufen der ScannerBasic.ClearInput-Methode gelöscht werden.

In diesem Abschnitt

  • Datendecodierung Beschreibt den Code, der zum Decodieren gerätespezifischer Daten erforderlich ist.

  • Scannerereignisse Veranschaulicht, wie ein Scannerserviceobjekt POS für .NET-Warteschlangen verwendet, um Ereignisse an Anwendungen zu senden.