Я пытаюсь написать следующий кодовый блок, который, кажется, достигает проблемы сравнения типа компилятора, независимо от того, что я делаю. < /p>
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 быть типа tclassicpermissionStatusDynarray, то я не могу назвать ressissionsservice.isevermishismissedgranted из -за несоответствия типа, вызывая непревзойденное, и если я сделаю это Tarray, то компилятор не совпадает с каким -либо перегрузкой для меня, как и на меня, не соответствует мне, не соответствует мне, как это не так, как это не соответствует мне, и если я сделаю это Tarray. Что -то может быть плохой в самом RTL, что -то разбитое в Delphi 12.2, которое не было разбито в более ранних версиях, или что сам компилятор не может признать, что два псевдонима на самом деле являются псевдонимом для того же самого, что является Tarray. вспомогательный метод? Здесь есть что -то еще, что я могу работать с другим синтаксисом или именованием типа?
Подробнее здесь: https://stackoverflow.com/questions/794 ... ler-errors