【发布时间】:2014-03-06 16:19:56
【问题描述】:
我正花时间试图弄清楚为什么我的模态表单不会关闭! 使用 Delphi XE-5 和 FireMonkey Mobile App (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 事件并通过代码分配模态结果。为什么表格不会关闭?我想我需要确保我所做的一切都是正确的,并且可能是我的手机(设备)?
【问题讨论】:
-
问题似乎不在发布的代码中。看看别处。
-
@KenWhite 我已经阅读了那篇文章,正如你所看到的,我的代码来自它。我在文章中是否缺少与使用“确定”或“取消”按钮实际关闭表单相关的内容?
-
@MarcusAdams 你有什么建议。我将编译后的 APK 文件发送给我儿子,他在 Nexus 设备上对其进行了测试,结果完全相同,因此它位于代码或运行时代码中。
-
@Marcus 是正确的。如果您的模态对话框不会关闭,则它不在您在此处发布的代码中。 (我之前提到过的文章讨论了模态窗口在 Android 上的不同之处——我相信“单独的活动”是 Marco 使用的短语。)
ShowModal确实不是 Windows 意义上的模态窗口。 -
@KenWhite 这篇文章我看了两遍,我问你“文章的哪一部分是指模态对话框方面(即单击按钮关闭对话框?)?你只是只需将按钮 modalresult 属性设置为“mrOK”和“mrCancel”,或者您是否还有其他操作。使用上面的代码并设置按钮 modalresult 属性不会关闭模式对话框。请解释一下。
标签: android delphi firemonkey delphi-xe5