Delpher2600 0 Posted May 9 Hello! Code, which i used for getting Android permissions, worked every time: if not PermissionsService.IsPermissionGranted(JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE)) then PermissionsService.RequestPermissions([JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE)], procedure(const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>) begin if (Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted) then ShowMessage('Access granted') else ShowMessage('Access denied'); end); But no now, when i installed Delphi 11 CE. Now, IDE highlights by red and write: E2250 There is no overloaded version of 'RequestPermissions' that can be called with these arguments at line 36 What is it and how fix it? Share this post Link to post
Dave Nottage 563 Posted May 9 This: procedure(const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>) Needs to be: procedure(const APermissions: TClassicStringDynArray; const AGrantResults: TClassicPermissionStatusDynArray) I believe the change to the types was related to C++Builder compatibility 2 Share this post Link to post
David Heffernan 2353 Posted May 9 7 hours ago, Dave Nottage said: I believe the change to the types was related to C++Builder compatibility This looks like the tail wagging the dog. Share this post Link to post
Delpher2600 0 Posted May 9 17 hours ago, Dave Nottage said: This: procedure(const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>) Needs to be: procedure(const APermissions: TClassicStringDynArray; const AGrantResults: TClassicPermissionStatusDynArray) Yes, that's work! Thank you, sir! Share this post Link to post