Einzelnen Beitrag anzeigen

skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#1

SD-Karte ermitteln schlägt in Delphi 10.4 fehl

  Alt 4. Feb 2021, 07:55
In der Funktion
Delphi-Quellcode:
function GetExternalSDCardDirectory: string;
var
  EmulStorage, RootDir, AFile: JFile;
  FileDirs: TJavaObjectArray<JFile>;
  isMounted: JString;
  i: integer;
begin
  EmulStorage := TJEnvironment.JavaClass.GetExternalStorageDirectory();
  Result := JStringToString(EmulStorage.getPath);
  AFile := EmulStorage.getParentFile();
  repeat
    RootDir := AFile;
    AFile := AFile.getParentFile();
  until (AFile = nil) or AFile.getPath().equals(StringToJString('/'));
  if RootDir <> nil then
  begin
    FileDirs := RootDir.listFiles(); <<<<<<<----- FileDirs ist hier Nil!
    for i := 0 to FileDirs.Length - 1 do
    begin
      AFile := FileDirs[i];
      isMounted := TJEnvironment.JavaClass.getStorageState(AFile);
      if isMounted <> nil then
        if TJEnvironment.JavaClass.MEDIA_MOUNTED.equals(isMounted) then
          Exit(JStringToString(AFile.getPath()));
    end;
  end;
end;
bekomme ich einen Laufzeitfehler an der gezeigten Stelle, alle Berechtigungen, die das Programm unter 10.3 hatte hat es in 10.4 auch bekommen...
Fehlt da noch etwas?

Ciao
Stefan
  Mit Zitat antworten Zitat