我有最艰难的时间试图找出为什么我的模态形式不会关闭! 使用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.