![]() |
TOpenDialog und SelectDirectory funktioniert nicht (mehr) unter MacOS
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:
Grüße, Philipp
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; |
AW: TOpenDialog und SelectDirectory funktioniert nicht (mehr) unter MacOS
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe mal ein kleines Beispiel erstellt. Es ist kein Problem in der Normal-Configuration.
Nur in der Application-Store funktioniert es nicht und TOpenDialog.execute und SelectDirectory gibt direkt false zurück. Ist dies tatsächlich nicht möglich oder fehlt mir hier irgendeine Permission? |
AW: TOpenDialog und SelectDirectory funktioniert nicht (mehr) unter MacOS
Ich hatte immer bei den Permissions und den Capabilities geschaut, es waren aber die Entitlements. Nach dem ich folgende Einträge aufgenommen habe (manuell, über die IDE werden teilweise die falschen Einträge rausgeschrieben (Bug ist eröffnet), funktioniert es bei mir wie gewünscht (wobei der erste davon ausschlaggebend für mein Problem war):
Code:
<key>com.apple.security.files.user-selected.read-write</key>
<true/> <key>com.apple.security.files.downloads.read-write</key> <true/> <key>com.apple.security.assets.music.read-write</key> <true/> <key>com.apple.security.assets.movies.read-write</key> <true/> <key>com.apple.security.assets.pictures.read-write</key> <true/> |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz