169 / 104 / 51
Регистрация: 27.11.2015
Сообщений: 1,250
1

Не сканирует сканер штрих-кода

20.03.2019, 15:39. Показов 729. Ответов 2

Работа со сканером, не могу понять, тестирую свою библиотеку, но проблема в методе Poll() застревает на continue;

PollWaitTime = 100 , в _port приходит всё правильно, теоретически есть ошибки?

В выводе Поток 0x3094 завершился с кодом 0 (0x0). Хотя я считываю сканером штрих-кода, так не должно быть считаю...
(было аналогично написано в другой библиотеке всё работало, я просто часть логики перенес в абстракт класс, и для конкретных устройств(раньше было всё там), наследую от базового)

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
public override void Open()
        {
            if (IsOpen) throw new InvalidOperationException("Устройство уже открыто.");
 
            _port = new SerialPort
            {
                PortName = PortName,
                BaudRate = BaudRate,
                ReadTimeout = ReadTimeout
            };
 
            try
            {
                _port.Open();
                _isOpen = true;
            }
            catch (Exception ex)
            {
                throw new IOException("Не удалось открыть порт.", ex);
            }
 
            _pollEndSignal.Reset();
            Task.Factory.StartNew(Poll);
        }
 
        internal virtual void Poll()
        {
            var barcode = new List<byte>();
 
            try
            {
                while (true)
                {
                    bool shouldStop = _pollEndSignal.WaitOne(PollWaitTime);
                    if (shouldStop) break;
 
                    if (_port.BytesToRead == 0)
                    {
                        if (barcode.Count == 0) continue;
 
                        byte[] barcodeData = barcode.ToArray();
                        barcode.Clear();
 
 
                        OnScanned(barcodeData);
                        continue;
                    }
 
                    var data = new byte[_port.BytesToRead];
                    _port.Read(data, 0, data.Length);
                    barcode.AddRange(data);
                }
            }
            catch (Exception ex)
            {
                OnError(new DevicesBase.DeviceErrorEventArgs(DevicesBase.ErrorLevel.Error, "Ошибка во время опроса.", ex));
            }
        }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.03.2019, 15:39
Ответы с готовыми решениями:

Сканер штрих кодов
using TradeShop.Barcode; Выдает ошибку. Какую библиотеку нужно подключить к проекту, чтобы этой...

Перехват клавиатуры под сканер штрих кода
Доброго времени суток ! Пишу программу под сканер штрих кода столкнулся с тем что код...

HID сканер штрих-кодов
Здравствуйте! Разрабатываю систему, которая должна взаимодействовать с клиентами с помощью сканера...

Приложение для устройств на Windows CE (сканер штрих-кодов)
Спрошу здесь. Есть ТСД (терминал сбора данных) Motorola MC909x, на борту у которой имеется сканер...

2
Фрилансер
801 / 308 / 148
Регистрация: 13.02.2019
Сообщений: 1,071
21.03.2019, 02:34 2
Помочь не могу, не в курсе как работать со сканерами. Апну тему для хорошего человека! Авось, кто то знающий заглянет.
1
909 / 794 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
21.03.2019, 09:29 3
ShmelVG,
1) Если OnScanned это событие, то оно как минимум должно быть проверено на null, а как максимум должно быть потокобезопасное
2) из п.1. если это событие то кто на него подписан, и что там происходит, если это метод то только 2 часть интересует
3) зависает совсем? или потом всё же что-то происходит? (а то не ясно из продолжения про коды завершения)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2019, 09:29
Помогаю со студенческими работами здесь

Сканер штрих кода
в конфе на основе ТиСа в документах возврат поставщику, переоценка и т.д. не увеличивается...

Сканер штрих-кода
Приветствую всех! Условие: Сканер клавиатурный Мне нужно считать штрих-код - который может...

USB сканер штрих-кода
Всем доброго времени суток , у меня сложилась следующая ситуация. Имеется сканер штрих-кода...

1С Розница 2.0.8.8, сканер штрих-кода
Добрый день! Опять с этой Розницей любовью занимаемся.... Сканер шрих-кода (&quot;XL6000 USB&quot;)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru