在我使用 XE7 for Android/iOS 开发的应用程序中,我有一个用于扫描条形码的表单。在找到条形码后,我的应用程序会验证它是否是可接受的条形码。以下教程:http ://www.fmxexpress.com/qr-code-scanner-source-code-for-delphi-xe5-firemonkey-on-android-and-ios/
目前我正在 Android 上进行测试,我能够集成条码的扫描和读取,但是当从查找条码的共享活动返回时,'onBarCode' 事件不会触发。相同的代码在以前版本的 Rad Studio(XE4、XE5、XE6)上运行良好,但现在在 XE7 中却不行。
以下是一些代码片段:
...
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 中那样工作?