|
Страница 1 из 1
|
[ Сообщений: 3 ] |
|
honeywell ms7120 orbit штрих код делится на части
Автор |
Сообщение |
tarakan1983
Новичок
Зарегистрирован: Чт авг 08, 2013 11:30 pm Сообщения: 26
|
honeywell ms7120 orbit штрих код делится на части
Здравствуйте. Имею honeywell ms7120 orbit подключается он по usb, перевел его в режим USB Serial Emulation Mode, появился виртуальный com-порт. Все хорошо, но... при чтении данных с com-порта штрих код делится на части. Подробнее: Пишу приложение на Delphi, перепробовал уже несколько компонентов для чтения данных с COM. У всех есть событие OnRxcar, т.е. действие при получении данных от порта, так вот только этот сканер(а пробовал я их 3) пробегает эту процедуру дважды, деля штрих код на части. Я понял, что нужно в настройках этого сканера или убрать какую-нибудь задержку или увеличить буфер или х.з. Может кто сталкивался, подскажите какую настройку нужно поправить?
|
Вс июл 10, 2016 11:00 pm |
|
|
Makc
Новичок
Зарегистрирован: Пн мар 13, 2006 4:50 pm Сообщения: 68
|
Re: honeywell ms7120 orbit штрих код делится на части
Лучше вообще не рассчитывать на то, что данные от устройства придут одним блоком, т.к. есть много факторов, которые на это могут повлиять. Самое правильное решение - накапливать данные у себя в программе до прихода завершающих штрих-код символов (обычно - 13, 10), после чего и обрабатывать.
Можно, конечно, поставить большой межсимвольный таймаут для чтения (см. SetCommTimeouts), увеличить размер входного буфера (см. SetupComm) и передать в функцию чтения буфер достаточного размера (см. ReadFile), но, всё равно, это не даст 100% гарантии.
|
Пн июл 11, 2016 11:22 pm |
|
|
tarakan1983
Новичок
Зарегистрирован: Чт авг 08, 2013 11:30 pm Сообщения: 26
|
Re: honeywell ms7120 orbit штрих код делится на части
| | | | Makc писал(а): Лучше вообще не рассчитывать на то, что данные от устройства придут одним блоком, т.к. есть много факторов, которые на это могут повлиять. Самое правильное решение - накапливать данные у себя в программе до прихода завершающих штрих-код символов (обычно - 13, 10), после чего и обрабатывать.
Можно, конечно, поставить большой межсимвольный таймаут для чтения (см. SetCommTimeouts), увеличить размер входного буфера (см. SetupComm) и передать в функцию чтения буфер достаточного размера (см. ReadFile), но, всё равно, это не даст 100% гарантии. | | | | |
Спасибо, так и сделал. Может кому пригодится где G_BARCODE глобальная переменная string
|
Пн июл 11, 2016 11:31 pm |
|
|
|
Страница 1 из 1
|
[ Сообщений: 3 ] |
|
Кто сейчас на конференции |
Сейчас этот форум просматривают: Google [Bot] и гости: 1 |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
|
|