2014-01-24 3 views
2

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

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

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

+1

В какой версии Delphi вы используете? – Giel

+0

@Erik: Вы видели мой ответ? –

ответ

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 немедленно прекращается.
Не имеет значения, следует ли закончить OpenDialog1 с ok или cancel.

Смежные вопросы