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