mardi 5 mai 2015

Motorola Scanner SDK BarcodeEvent returns Cradle's ID

I have two LI4278 barcode scanners. I want each scanner to beep when one of it reads a barcode that is not in the database. To do this I use BarcodeEvent of the SDK. But the event gives me the id of the cradles not the scanner. Becouse of this i can not beep the scanner. How can i get the id of scanner?

Here is my code;

    private void Form1_Load(object sender, EventArgs e)
    {
            cCoreScannerClass = new CCoreScannerClass();


            //Call Open API
            short[] scannerTypes = new short[1];//Scanner Types you are interested in
            scannerTypes[0] = 1; // 1 for all scanner types
            short numberOfScannerTypes = 1; // Size of the scannerTypes array
            int status; // Extended API return code
            cCoreScannerClass.Open(0, scannerTypes, numberOfScannerTypes, out status);
            // Subscribe for barcode events in cCoreScannerClass
            cCoreScannerClass.BarcodeEvent += new _ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent);
            // Let's subscribe for events
            int opcode = 1001; // Method for Subscribe events
            string outXML; // XML Output
            string inXML = "<inArgs>" +
            "<cmdArgs>" +
            "<arg-int>1</arg-int>" + // Number of events you want to subscribe
            "<arg-int>1</arg-int>" + // Comma separated event IDs
            "</cmdArgs>" +
            "</inArgs>";
            cCoreScannerClass.ExecCommand(opcode, ref inXML, out outXML, out status);
            short numberOfScanners = 2;
            int[] sfScannerIDList = new int[255];
            cCoreScannerClass.GetScanners(out numberOfScanners, sfScannerIDList, out outXML, out status);

    }

    void OnBarcodeEvent(short eventType, ref string pscanData)
    {
        string barcode = pscanData;
    }

Aucun commentaire:

Enregistrer un commentaire