After our release of
RAD Studio 10.3.3, which includes for the first time Delphi Android 64-bit support, a few customers have reported issues with when recompiling applications that use the TInAppPurchase*component. When these applications are compiled for 64-bit Android and runtime they raise an
access violation.
You can see a couple of reports at*
https://quality.embarcadero.com/browse/RSP-27228*and*
https://quality.embarcadero.com/browse/RSP-27140.
These reports were escalated yesterday by two different customers, and we had our team have a look. It turns out we missed one of the required steps for migration to 64-bit in that component, namely shifting a data type from Cardinal (same size on all platforms) to NativeUInt*(which is platform specific). This is achieved by using the TFmxHandle*type.
The workaround to address the issue is to make a copy of the*FMX.Helpers.Android.pas file, part of the FMX sources (installed by default under*C:\Program Files (x86)\Embarcadero\Studio\20.0\source\fmx), copy into the project folder, add it to the project, and change line 250 of that
unit from
FTimerHandle: Cardinal; to:
FTimerHandle: TFmxHandle; You can see the code snippet in the image below. This addresses the problem (and we'll include the fix in the next release of
RAD Studio).
Weiterlesen...