在Delphi东京,device Lanchang U8000S (http://www.itlecom.com/ProductsDetails.asp?id=1)上开发应用程序时,我使用:
VKAutoShowMode := TVKAutoShowMode.never;为了禁用输入示例TEdit组件和其他输入组件时显示虚拟键盘,因为在应用程序中可以使用条形码扫描仪或硬件数字键盘输入大量输入。我将扫描仪配置设置为键盘模拟模式,在扫描模拟后,按Enter键。
http://www.lckj.cn/Upload/U8000S_Scan_API.pdf
我使用:
setOutScanMode(1);//keyboard emulation
setScanCodeEnterKey(true);// Additional enter key after the scan results. 问题是,如果您启动应用程序,并将光标和焦点放在一个TEdit组件中并扫描条形码,但如果您调用虚拟键盘并在打开后简单地关闭它,则扫描仪工作正常,您将获得结果!在扫描仪不提供数据的同时,设备上的数字键盘工作正常。但随后你在应用程序中改变焦点,然后在一些编辑中再次获得,同样来自扫描仪的输入不起作用。
看起来如果你不使用VKAutoShowMode := TVKAutoShowMode.never;,那么一切都很好,但我不能使用这个选项,因为我有很多表单,其中没有地方显示虚拟键盘,但为什么要显示虚拟键盘如果你不需要它!
看起来还有另一种选择:
setOutScanMode(0) // Broadcast output mode. 但我不知道如何在这种模式下工作,因为我现在不知道从哪里捕捉这些扫描的数据!?
我希望有人知道如何解决这个问题!?
发布于 2019-10-15 18:41:14
如果你使用的是基于Android的条形码扫描器,我发现接收扫描的最好方法是给我们“意向”。在Delphi示例中有一些示例应用程序,通常安装在AndroidIntents\ C:\Users\Public\Documents\Embarcadero\Studio\20.0\Samples\Object Pascal\Mobile Snippets中。Brian Long有几篇关于在Android中使用intents的文章和视频。他还在http://www.delphifeeds.com/go/s/149394的初始Rio 10.3版本中指出了这些(和修复)的一些问题。我不知道在最新版本中是否已经修复了这些问题。
https://stackoverflow.com/questions/43319009
复制相似问题