Symbol / Motorola Scanner SDK BarcodeEvent случайным образом удаляет обработчик событий

Я использую SDK для сканера Symbol / Motorola со сканером LS3578, подключенным к IBM HID через USB. Сканер работает так, как задумано в этой и нескольких других программах, написанных мной. Моя проблема в том, что людям нужно оставить это конкретное приложение открытым (чтобы им не приходилось постоянно входить в систему), и примерно через пять минут программа потеряет EventHandler для захвата сканированных штрих-кодов.

Я сделал обходной путь, разрешив снова настроить сканер (подписаться на EventHandler) через 5 минут, но это не то, что я действительно хочу выпускать в производство.

Я пробовал таймеры для автоматической настройки и все остальное, что я могу придумать, чтобы это хотя бы выглядело так, как будто оно остается подключенным, и все события остаются нетронутыми. Мы будем очень благодарны за любые предложения по подсчету событий, связанных с BarcodeEvent, или просто по предотвращению потери события.

Спасибо!


person Shawn Walker    schedule 19.02.2014    source источник


Ответы (1)


Отвечая на это сам, так как я обнаружил ошибку, и все это было моим. Я объявлял CCoreScanner (объект сканера) в отдельном классе, который, как я предполагаю, вызывал сбор мусора для объекта сканера между 3,5 и 5 минутами после открытия программы. Я переместил объект сканера и связанный с ним код в код программной части формы, и это, похоже, решило проблему.

Удачи всем, у кого возникла эта проблема; Надеюсь, мои ошибки / незнание помогут вам сэкономить время на отладке.

person Shawn Walker    schedule 25.02.2014