Код: Выделить всё
uses
Fmx.Types,
System.Permissions,
androidapi.Helpers, // JStringToString
androidapi.JNI.JavaTypes,
androidapi.JNI.Os, // isExternalStorageManager etc
...
PermissionsService.RequestPermissions(
[
JStringToString(TJManifest_permission.JavaClass.READ_EXTERNAL_STORAGE),
JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE),
JStringToString(TJManifest_permission.JavaClass.MANAGE_EXTERNAL_STORAGE )
],
{RequestPermission}
procedure ( const APermissions: TClassicStringDynArray; const AGrantResults: TArray {TClassicPermissionStatusDynArray})
begin
if PermissionsService.IsEveryPermissionGranted(AGrantResults) then
ThenDo;
end,
{ExplainReason}
procedure (const APermissions: TClassicStringDynArray; const APostRationaleProc: TProc)
begin
TDialogService.ShowMessage( UserMessage,
procedure(const AResult: TModalResult)
begin
APostRationaleProc;
end)
end
);
< /code>
Проблемная часть-это двухстрочный сегмент: < /p>
procedure ( const APermissions: TClassicStringDynArray; const AGrantResults: TArray {TClassicPermissionStatusDynArray})
begin
if PermissionsService.IsEveryPermissionGranted(AGrantResults) then
< /code>
Вопрос в том, каким должен быть список параметров и типов анонимного метода? Tarray Кажется, что -то плохое в самом RTL, что -то сломано в Delphi 12.2, которые не были сломлены в более ранних версиях, или компилятор не обязуется два псевдонима, что и одно и то же самое, что и одно и то же самое, что и одно и то же Tarray .
Есть ли какой -нибудь способ сделать это компиляцию и все же вызовать iseverypermissiongranted или я должен переписать Iseverypermissiongranted , что является просто методом Helper?>
Подробнее здесь: https://stackoverflow.com/questions/794 ... elphi-12-2
Мобильная версия