android - 条形码读取 Delphi xe7, Intent 未触发后的事件

标签 android delphi barcode zxing delphi-xe7

在我使用 XE7 为 Android/iOS 开发的应用程序中,我有一个用于扫描条形码的表单。在找到条形码后,我的应用程序会验证它是否是可接受的条形码。跟随这里的教程:http://www.fmxexpress.com/qr-code-scanner-source-code-for-delphi-xe5-firemonkey-on-android-and-ios/

目前我正在 Android 上进行测试,我能够集成扫描和读取条形码,但是当从查找条形码的共享 Activity 返回时,“onBarCode”事件不会触发。相同的代码适用于以前版本的 Rad Studio(XE4、XE5、XE6),但现在在 XE7 中却不行。

下面是一些代码 fragment :

...
begin
    Scanner := TAndroidBarcodeScanner.Create(true);
    Scanner.OnBarCode := BarcodeHandler;
    Scanner.Scan;
end;

procedure TmScannerForm.BarcodeHandler(Sender: TAndroidBarcodeScanner;
  BarCode: String);
begin
  text1.Text := Barcode;
  memo1.PasteFromClipboard;
  AddBarcode(BarCode, true);
end;

AddBarCode 是我用来验证条形码并将其添加到列表中的偶数,但我没有包含它,因为该代码不是问题 - 它甚至不会触发。 Text1.text:=Barcode 和 memo1.paseFromClipboard 用于验证甚至没有触发。我可以确认正在读取条形码,因为如果我点击并手动粘贴,就会显示条形码。

为什么这在 XE7 上不能像在以前版本的 Rad Studio 中那样工作?

最佳答案

Andrea Magni 在他的博客上有一个基于事件处理的比计时器更优雅的解决方案。

我会发表评论以发送链接,但我没有足够的声誉。 他博客的链接是:

http://blog.delphiedintorni.it/2014/10/leggere-e-produrre-barcode-con-delphi.html

也许这可以帮到你。虽然该博客是意大利语的,但提供了来源并自行解释。

关于android - 条形码读取 Delphi xe7, Intent 未触发后的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26183414/

相关文章:

android - 如何确定 Android 上 Google Play 服务的实际内部版本号?

android - 我怎样才能知道手机的电量消耗

barcode - 使用条码扫描器作为键盘楔子是否意味着您无法确认收到扫描件?

c# - 将 .bmp 文件解码为二进制文件

c# - 条形码图像到 C# 中的 Code39 转换?

关于语音识别的 Android 额外功能不起作用

java - 使用ArrayList的ArrayList时读写Parcel

delphi - 在 TClientDataset 的 ReconcileError 方法中处理多个记录中的更新错误

delphi - 制表符在 Delphi XE2 消息对话框中不再起作用 - 替代方案?

delphi - 如何使用Indy获取IMAP邮箱的特殊用途属性?