ShowModal窗口打开NSOpenPanel将在Delphi FMX中自动关闭

时间:2014-01-24 12:28:08

标签: macos delphi firemonkey nsopenpanel

我正在使用代码http://jed-software.com/blog/?p=538来允许用户在MAC OSX下选择一个文件夹。如果我在主窗体中放置一个按钮并单击此按钮打开NSOpenPanel,它工作正常。

然而,如果我用ShowModal打开一个模态窗口,那么,在这个模态窗口中放置一个按钮,单击此按钮打开NSOpenPanel,在NSOpenPanel中选择文件夹后,无论我单击OK还是取消按钮,都是NSOpenPanel这个模态窗口将自动关闭。

我感谢任何帮助解决这个问题。

1 个答案:

答案 0 :(得分:1)

如果按钮的ModalResult不等于mrNone

如果打开了包含ShowModal的表单,

 Form2.ShowModal;

Button1 on Form2

enter image description here

在事件Button1Click(...)中执行程序代码后

procedure TForm2.Button1Click(Sender: TObject);
begin
   OpenDialog1.Execute;
end;

OpenDialog1关闭后,Form2会立即终止 是否以OpenDialog1ok结束cancel无关紧要。