- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Firemonkey 应用程序中的 TOpenDialog 似乎存在问题,该应用程序已针对 Mac Appstore 进行沙箱处理。我使用XE3,但它也存在于XE2中。我其实在这里找到了一份QC报告,但仍然没有解决:
http://qc.embarcadero.com/wc/qcmain.aspx?d=105344
有人遇到过同样的问题吗?或者有解决办法吗?
很容易检查。只需将 TOpenDialog 放在窗体上并调用 Execute 方法即可。根据 Embarcadero 说明对应用程序进行签名和沙箱处理:
http://docwiki.embarcadero.com/RADStudio/en/Mac_OS_X_Application_Development
调用 Execute 时会出现延迟,应用程序会卡住一会儿,但不会显示任何内容。没有异常或错误消息。如果应用程序未沙箱化,则对话框将正常工作。
这段代码也不起作用,所以问题可能出在由 TOpenDialog 调用的 TNSOpenPanel 中的某个地方,但不幸的是我找不到它。
var
LOpenDir: NSOpenPanel;
begin
LOpenDir := TNSOpenPanel.Wrap(TNSOpenPanel.OCClass.openPanel);
LOpenDir.runModal;
LOpenDir.release;
我在 Apple docs 中读到与没有沙箱的情况相比,使用沙箱的 NSOpenPanel 派生自不同的类。我想这就是问题的原因。
任何想法将不胜感激。我们无法真正发布必须在没有打开/保存对话框的情况下处理文件的应用程序:)
顺便说一句,我尝试了项目选项中权利的几种组合,但没有效果。
最佳答案
当应用程序位于沙箱中时,NSOpenPanel/NSSavePanel 应由名为 Powerbox 的透明模块管理。 AppKit框架的普通面板没有效果。但要启用 Powerbox 来访问文件系统,权限列表应包括
com.apple.security.files.user-selected.read-write YES
配置。
关于macos - TOpenDialog/NSOpenPanel 无法在沙盒 Delphi 应用程序中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13551879/
我在 Lazarus 上有一个项目,我想使用 gcc 编译源代码,为此我有一个名为 OpenDialog1 的 TOpenDialog 和一个 TProcess > 称为AProcess。 我使用以下
我有一个 Delphi 应用程序,它使用 TOpenDialog 让用户选择文件。默认情况下,打开的对话框显示在当前监视器的中心,而当前监视器可能距离应用程序窗口“数英里”。我希望对话框以 TOpen
如何在打开和保存对话框中强制 zip 存档显示为文件而不是文件夹? 通过显示为文件夹,我的意思是这样的: 最佳答案 Vista 及更高版本上的 Windows 文件打开对话框支持 IFileDialo
TOpenDialog 有一个选项ofEnableSizing,允许用户修改打开对话框的对话框大小。该尺寸数据似乎是为应用程序存储的。如果程序再次启动,对话框将以相同的大小打开。 我的问题是,这些数据
我在 Delphi XE7 中使用了 TOpenDialog 组件,因为我想选择一个或多个文件。但是,在我选择它们并单击“确定”后,所选文件已按字母顺序(从 A 到 Z)存储在 中。文件 属性(pro
我真的很想知道使用 TOpenDialog 选择目录的各种方法,无论是下载新组件还是使用 Delphi 提供的内容,但最好使用 Delphi 提供的内容。 在此之前,我一直在使用 SelectDire
在 W7 x64 中使用 Delphi Seattle。当使用自定义 VCL 样式并且选择大量文件(例如 2-3k+)时,文件名会损坏。如果没有自定义样式,这种情况就不会发生。 program Pro
我有一个非常简单的表单,上面有一个 TOpenDialog 和一个按钮。当我按下按钮时,它会在对话框中调用 Execute。如果我在调试器中观察,打开对话框的行为会产生 14 个线程,当我关闭对话框时
给定以下测试形式(在 Delphi 10.1 和 Delphi 2007 中测试): object Form1: TForm1 Caption = 'Form1' ClientHeight =
我在 Windows 10 上使用 Delphi Berlin。我需要在基于 tStringGrid 的 tForm 上使用 tOpenDialog。 当我双击与打开的对话框上的固定列或行重叠的文件时
请参阅以下步骤进行重现。在 XE2 中运行良好,但在 XE8 中运行不佳。 创建新的 VCL 表单应用程序 - Delphi 在表单上放置一个 TButton 和 TOpenDialog 在按钮OnC
用户应仅打开“KLADR.DBF”文件。我将“Filter”属性设置为“kladr.dbf”,对话框仅显示所需的文件,但在同一目录中还有另一个“.DBF”文件(STREET.DBF),用户可以通过在“
将我的问题提到这个答案:https://stackoverflow.com/a/4016075/698266 ,特别是第 3 步说“否则,如果应用程序过去使用过打开或另存为对话框,则选择最近使用的路径
我有一个 TOpenDialog我在运行时创建的组件,我想禁用在使用文件时弹出的提示。除了创建对象、执行对象并提取文件名,然后释放实例之外,我还没有为此编写任何 exrta 代码。 我可以做我想做的事
我有一个使用以下内容创建的模式对话框: procedure TFormCompose.createParams(var Params: TCreateParams); begin inher
Firemonkey 应用程序中的 TOpenDialog 似乎存在问题,该应用程序已针对 Mac Appstore 进行沙箱处理。我使用XE3,但它也存在于XE2中。我其实在这里找到了一份QC报告,
新版 TFileOpenDialog 和旧版 TOpenDialog 有什么区别? 在我的计算机(Win 7/DXE)中,当我运行代码时,对话框看起来是一样的。 最佳答案 TOpenDialog 在满
我有一个调用 TOpenDialog 的表单。当窗口出现时,我右键单击显示的文件之一,然后单击属性。关闭 Windows 属性窗口后,打开的对话框窗口会落到调用窗体和主应用程序后面的 Z 顺序底部。使
在我的 Delphi 应用程序中,当我执行 TOpenDialog 时,它会在显示对话框之前加载很多模块。 这可能需要一段时间。(2-3 秒)。 第二次和其他时候,它要快得多。 有没有办法在启动应用程
总结: 请参阅下面来自 Craig 和 Sertac 的有用评论。 ================================================== ======= 如下面的最小化
我是一名优秀的程序员,十分优秀!