Hi,
folgende zwei Methoden funktionieren wunderbar unter Windows und laut Delphi-Doku müssten sie auch unter MacOS funktionieren.
Dort kommt sowohl openDialog.Execute als auch SelectDirectory direkt (mit false) zurück, so dass der User keine Auswahl treffen kann.
Hat sich hier in der Zwischenzeit etwas geändert. Ich habe es sowohl auf BigSur als auch Catalina ausprobiert.
Ich dachte zuerst es liegt an der Sandbox, aber auch die App aus dem AppStore verhält sich genauso.
Delphi-Quellcode:
function selectfile(title, defaultDir, Filter: String): String;
var openDialog: TOpenDialog;
begin
openDialog:=TOpenDialog.create(self);
openDialog.title:=title;
openDialog.initialDir:=defaultDir;
openDialog.Filter:=Filter;
if (openDialog.Execute) then
Result:=openDialog.filename
else
Result:='';
openDialog.Free;
end;
function selectdir(title, defaultDir: String): String;
var res: String;
begin
res:=defaultDir;
if (SelectDirectory(title, defaultDir, res)) then
Result:=res
else
Result:=defaultDir;
end;
Grüße, Philipp