2012-11-25 2 views
7

Mac Appstore 용 샌드 박스 인 Firemonkey 애플리케이션에서 TOpenDialog에 문제가있는 것 같습니다. XE3을 사용하지만 XE2에도 있습니다. 는 사실은 여기 QC 보고서를 찾았지만 여전히 해결되지 않은 :샌드 박스가있는 Delphi 앱에서 TOpenDialog/NSOpenPanel이 작동하지 않습니다.

http://qc.embarcadero.com/wc/qcmain.aspx?d=105344

사람이 어떻게 해결하는 방법 같은 문제, 또는 어떤 아이디어가 있었나요?

매우 쉽게 확인하실 수 있습니다. 그냥 폼에 TOpenDialog 넣고 Execute 메서드를 호출하십시오. 엠바 카데로 지침에 따라 로그인 응용 프로그램 샌드 박스 :

지연 앱이 잠시 정지, 거기라고하지만, 아무것도 표시되지 않습니다 실행

http://docwiki.embarcadero.com/RADStudio/en/Mac_OS_X_Application_Development

. 예외 또는 오류 메시지는 없습니다. 앱이 샌드 박싱되지 않은 경우 대화 상자가 제대로 작동합니다.

이 코드도 작동하지 않으므로 TOpenDialog에 의해 호출되는 TNSOpenPanel 어딘가에 문제가있을 수 있지만 불행히도 찾을 수 없습니다.

var 
    LOpenDir: NSOpenPanel; 
begin 
    LOpenDir := TNSOpenPanel.Wrap(TNSOpenPanel.OCClass.openPanel); 
    LOpenDir.runModal; 
    LOpenDir.release; 

제가

샌드와 NSOpenPanel 샌드 박스가없는 것에 비해, 다른 클래스로부터 파생하는 Apple docs 판독. 이것이 문제의 원인이라고 생각합니다.

모든 아이디어는 크게 감사하겠습니다. 열기/저장 대화 상자없이 파일을 사용해야하는 응용 프로그램을 실제로 게시 할 수는 없습니다. :)

Btw, Project Options에서 여러 가지 조합의 인 타이틀먼트를 시도했지만 효과가 없습니다.

+0

나는 동일한 문제, 모든 해결 방법을 가지고 있습니까? 감사. – RRN

+0

불행히도 지금까지 해결 방법을 찾지 못했습니다. 유일한 긍정적 인 점은 문제가 OSX 10.7에 나타나지만 10.8에는 나타나지 않는다는 것입니다. 지금까지 내 애플 리케이션의 유일한 솔루션은 10.7에서 실행될 때 '찾아보기'기능을 비활성화하고 드래그 드롭 옵션 만 사용하는 것입니다. – VGeorgiev

답변

0

응용 프로그램이 샌드 박스에있을 때 NSOpenPanel/NSSavePanel은 Powerbox라는 투명한 모듈로 관리해야합니다. AppKit 프레임 워크의 일반 패널은 효과가 없습니다. 그러나 파워 박스가 파일 시스템에 접근 할 수있게하려면, 인 타이틀먼트리스트는

com.apple.security.files.user-selected.read-write YES 

구성을 포함해야합니다.

+0

그래, 나는 이것을 이미 인 타이틀먼트에 추가하려고 시도했지만 동작을 변경하지는 않는다. PowerPanel 모듈로 OpenPanel을 호출해야하는 것이 있습니까? 나는 생각하지 않지만 여전히 ... – VGeorgiev

+0

Hello Georgiev, 나는 해결 방법을 찾자 마자 대답을 시도하고 쓸 것입니다. –

+0

안녕하세요, 귀하의 오류를 다시 생성하려하지만 응용 프로그램을 코드화 할 수 없습니다. 오류가 발생했습니다. 개체 파일 형식을 인식 할 수 없거나 잘못되었거나 적합하지 않습니다. 이 상황에 직면 해본 적이 있습니까? 어떻게 앱을 구성 할 수 있습니까? –