Код: Выделить всё
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>
Вопрос в том, каким должен быть список параметров анонимного метода и типы? Если я сделаю AgranTresults Мне кажется, что что -то может быть плохим в самом RTL, что -то разбитое в Delphi 12.2, которое не было разбито в предыдущих версиях, или что сам компилятор не может распознать, что два псевдонима находятся в псевдониме для того же, что и для того, что есть, это то же самое, что есть для того, чтобы сделать это, так и для того, чтобы сделать это, так же, что есть в каком -то и тот же, что является трэлем
И все же вызовать iseverypermissiongranted , или я должен просто переписать iseverypermissiongranted сам, что является просто вспомогательным методом? Здесь есть что -то еще, что я могу работать с другим синтаксисом или именованием типа?
Подробнее здесь: https://stackoverflow.com/questions/794 ... ler-errors
Мобильная версия