Откроется окно ShowModal. NSOpenPanel будет автоматически закрыт в Delphi FMX.

Я использую код http://jed-software.com/blog/?p=538 чтобы позволить пользователю выбрать папку в MAC OSX. Он отлично работает, если я помещаю кнопку в основную форму и нажимаю эту кнопку, чтобы открыть NSOpenPanel.

Однако, если я открою модальное окно с помощью ShowModal, затем поместите кнопку в это модальное окно, нажмите эту кнопку, чтобы открыть NSOpenPanel, после выбора папки в NSOpenPanel, независимо от того, нажимаю ли я кнопку «ОК» или «Отмена», как NSOpenPanel, так и этот модальный окно закроется автоматически.

Я ценю любую помощь в решении этой проблемы.


person Erik    schedule 24.01.2014    source источник
comment
Какую версию Delphi вы используете?   -  person Giel    schedule 24.01.2014
comment
@ Эрик: ты видел мой ответ?   -  person moskito-x    schedule 27.01.2014


Ответы (1)


Если ModalResult кнопки не равно mrNone и

Если открыта форма с ShowModal,

 Form2.ShowModal;

Button1 on Form2

введите здесь описание изображения

после выполнения программного кода в событии Button1Click(...) .

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

Когда OpenDialog1 закрывается, Form2 немедленно завершается.
Неважно, заканчивать ли OpenDialog1 на ok или cancel.

person moskito-x    schedule 24.01.2014