Android/iOS 用の XE7 で開発された私のアプリには、バーコードをスキャンするためのフォームがあります。バーコードが見つかると、アプリはそれが許容可能なバーコードかどうかを検証します。ここのチュートリアルに従ってください: 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 は、イベントも起動していないことを検証するために使用されました。タップして手動で貼り付けるとバーコードが表示されるので、バーコードが読み取られていることを確認できます。
以前のバージョンの Rad Studio のように XE7 で機能しないのはなぜですか?