![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Решение проблемы с USB-сканером в Delphi XE8: корректный ввод данных в FMX-проектахDelphi , ОС и Железо , Сканер
При разработке программного обеспечения на Delphi часто возникают ситуации, когда стандартные компоненты не работают так, как ожидается. Одной из таких проблем является некорректный ввод данных с USB-сканера в FMX-проектах при использовании Delphi XE8. В данной статье мы рассмотрим причину этой проблемы и предложим несколько решений. Описание проблемы При попытке ввода данных в компоненты TEdit или TMemo с USB-сканера в FMX-проектах в Delphi XE8, данные не корректно обрабатываются. При просмотре события KeyDown видно, что ключи 16/17/18 присутствуют, но KeyChar всегда равен #0. В VCL-проектах все работает корректно, но в FMX-проектах scanner не распознается. Причина проблемы Проблема заключается в том, что FMX не обрабатывает сообщение WM_CHAR, которое отправляет USB-сканер для фактического ключа. В результате, данные не корректно вводятся в компоненты. Решения проблемы
Если ваш сканер поддерживает настройку задержки между нажатиями клавиш, попробуйте увеличить задержку. Также проверьте настройки Caps Lock на сканере. В некоторых случаях, определенные настройки (например, Alt+Keypad) могут вызывать проблемы с вводом данных в FMX-проектах. Пример настроек Caps Lock: - Auto - Alt+Keypad - Caps Lock Off - Caps Lock On Попробуйте изменить настройки Caps Lock на Auto, Off или On, чтобы проверить, решит ли это проблему.
Попробуйте использовать другой USB-сканер (ключборд), который работает как обычная клавиатура. В этом случае, скорее всего, не будет проблем с вводом данных в FMX-проектах.
Если предыдущие решения не помогли, можно изменить код в файле FMX.Platform.Win. Найдите процедуру Пример кода для изменения:
Вывод При работе с USB-сканерами в FMX-проектах в Delphi XE8 могут возникнуть проблемы с корректным вводом данных. В данной статье мы рассмотрели причину этой проблемы и предложили несколько решений, начиная от изменения настроек сканера и заканчивая изменением кода FMX.Platform.Win. Применение этих решений поможет вам корректно работать с USB-сканерами в FMX-проектах в Delphi XE8. Статья о решении проблемы корректного ввода данных с USB-сканера в FMX-проектах при использовании Delphi XE8. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |