当前位置 : 主页 > 编程语言 > delphi >

关闭delphi firemonkey移动应用程序(Android)中的模式对话框

来源:互联网 收集:自由互联 发布时间:2021-06-23
我有最艰难的时间试图找出为什么我的模态形式不会关闭! 使用Delphi XE-5和FireMonkey移动应用程序( Android),我按照信息“ ShowModal Dialogs in FireMonkey Mobile Apps” 为了演示目的,我创建了一个新
我有最艰难的时间试图找出为什么我的模态形式不会关闭!
使用Delphi XE-5和FireMonkey移动应用程序( Android),我按照信息“ ShowModal Dialogs in FireMonkey Mobile Apps”

为了演示目的,我创建了一个新的Firemonkey Mobile delphi应用程序并添加了一个二级firemonkey移动表单.从主窗体,我使用文章中的代码:

procedure TForm1.Button1Click(Sender: TObject);
var
  Form2: TForm2;
begin
  Form2 := TForm2.Create(nil);

  Form2.ShowModal(procedure(ModalResult: TModalResult)
    begin
      if ModalResult = mrOK then
      begin
        //
      end;
      Form2.DisposeOf;
    end);

end;

在辅助表单上,我将“Ok”和“Cancel”按钮modalresult属性分别分配给“mrCancel”和“mrOK”.但是,当显示模态对话框时,两个按钮都不会使对话框关闭.我甚至尝试添加onClick事件并通过代码分配modalresult.为什么表格不接近?我想我需要保证我能够正确使用我的电话(设备)吗?

要关闭模态对话框,请使用以下模式:

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := TCloseAction.caFree;
end;

并删除您的调用Form2.DisposeOf;,因为ModalResult setter需要对有效对象进行操作.

文档已在XE7中更新,请参见Using FireMonkey Modal Dialog Boxes.

有关DisposeOf错误的详细信息,请参阅ShowModal on Android.

网友评论