Sembra che ci sia un problema con TOpenDialog in un'applicazione Firemonkey, che è in modalità sandbox per il Mac Appstore. Io uso XE3, ma è presente anche in XE2. in realtà ho trovato un rapporto di controllo di qualità qui, ma è ancora irrisolto:TOpenDialog/NSOpenPanel non funziona in un'app Delphi in modalità sandbox
http://qc.embarcadero.com/wc/qcmain.aspx?d=105344
Qualcuno ha avuto lo stesso problema, o tutte le idee su come lavorare intorno ad esso?
È molto facile da controllare. Basta mettere un TOpenDialog su un modulo e chiamare il metodo Execute. Iscriviti e sandbox l'applicazione in base alle istruzioni Embarcadero:
http://docwiki.embarcadero.com/RADStudio/en/Mac_OS_X_Application_Development
Quando Esegui viene chiamato c'è un ritardo, l'applicazione si blocca per un attimo, ma non appare nulla. Non ci sono eccezioni o messaggi di errore. Se l'app non è in sandbox, la finestra di dialogo funziona correttamente.
Anche questo codice non funziona, quindi il problema è probabilmente da qualche parte nel TNSOpenPanel, che viene chiamato da TOpenDialog, ma sfortunatamente non sono riuscito a trovarlo.
var
LOpenDir: NSOpenPanel;
begin
LOpenDir := TNSOpenPanel.Wrap(TNSOpenPanel.OCClass.openPanel);
LOpenDir.runModal;
LOpenDir.release;
ho letto nel Apple docs che con la Sandbox NSOpenPanel è derivato da classi diverse, rispetto a quella senza sandbox. Immagino che questa sia la causa del problema.
Qualsiasi idea sarebbe molto apprezzata. Non possiamo davvero pubblicare un'app che deve funzionare con i file senza finestre di dialogo Apri/Salva :)
A proposito, ho provato diverse combinazioni delle autorizzazioni in Opzioni progetto, ma non hanno avuto alcun effetto.
Ho ricevuto lo stesso problema, qualche soluzione? Grazie. – RRN
Purtroppo non ho ancora trovato una soluzione. L'unica cosa positiva è che il problema appare su OSX 10.7, ma non su 10.8. Finora l'unica soluzione nella mia app è stata quella di disabilitare la funzionalità 'Sfoglia' quando è stata eseguita su 10.7 e utilizzare solo le opzioni di trascinamento. – VGeorgiev