Hi,
ist irgendetwas an meiner Delphi 11 Installation krum oder warum taugt die bisherige RequestPermissions-Implementierung nicht mehr. Unter Delphi 10.4.2 funktioniert es unter Delphi 11 kommt die folgende Fehlermeldung:
[DCC Fehler] E2250 Es gibt keine überladene Version von 'RequestPermissions', die man mit diesen Argumenten aufrufen kann
Delphi-Quellcode:
procedure TicTrainerF.requestBLEPermissions();
begin
if (requestedBLEPermissions) then
exit;
PermissionsService.RequestPermissions(['android.permission.ACCESS_COARSE_LOCATION', 'android.permission.ACCESS_FINE_LOCATION'], LocationPermissionRequestResult);
end;
procedure LocationPermissionRequestResult(Sender: TObject; const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>);
var i: Integer;
begin
if ((length(AGrantResults) = 2) and (AGrantResults[0] = TPermissionStatus.Granted) and (AGrantResults[1] = TPermissionStatus.Granted)) then
begin
log.d('User granted Location-Android-permission for BLE', True);
requestedBLEPermissions:=True;
end else begin
log.d('Not all Location-Android-permission for BLE granted (' + IntToStr(length(AGrantResults)) + ')', True);
for i:=0 to length(AGrantResults) - 1 do
begin
if (AGrantResults[i] = TPermissionStatus.Granted) then
log.d(IntToStr(i) + ': granted', True)
else
log.d(IntToStr(i) + ': not granted', True)
end;
end;
end;
Ich hatte generell den Fehler gemacht, dass ich einige Delphi-Einstellungen via EMBT-Tool von 10.4.2 nach 11.0 gezogen habe, da musste ich im Nachhinein einiges reparieren, da so auch blind ganz viele Einträge mit 270 und sydney mitgezogen wurden (das hätte ich von der Funktion besser erwartet), daher kann ich nicht ausschließen, dass ich hier beim reparieren etwas kaputt gemacht habe.
Die Signatur der Methode RequestPermissions hat sich nicht geändert, so weit bin ich schon mal.
Grüße, Philipp