【发布时间】:2014-10-14 03:35:40
【问题描述】:
我是 Delphi XE5 的新手,目前正在使用 Delphi XE5 在我的 Windows 桌面上开发 Android 平台应用程序。 我有两个表单(Form1 和 Form2),并尝试按照 Marco 的 RAD 博客 (http://blog.marcocantu.com/blog/xe5_anonymous_showmodal_android.html) 中显示的方式在 Form1 上以模态方式显示 Form2。
但结果并不如预期。
procedure TForm1.Button1Click(Sender: TObject);
var
frm2: TForm2;
begin
frm2 := TForm2.Create(nil);
ShowMessage('before frm2.ShowModal...');
frm2.ShowModal (
procedure(ModalResult: TModalResult)
begin
if ModalResult = mrOK then
if frm2.ListBox1.ItemIndex >= 0 then
edit1.Text := frm2.ListBox1.Items [frm2.ListBox1.ItemIndex];
frm2.DisposeOf;
end
);
ShowMessage('after frm2.ShowModal...');
end;
我编写了上面的代码并在 Android 设备上运行应用程序。 我点击了Button1,然后我得到消息框“在frm2.ShowModal...之前”,下一个“在frm2.ShowModal...之后”,然后显示Form2。
我希望顺序应该是 1)"在 frm2.ShowModal..." 消息之前,2) Form2 正在显示,以及 3)"在 frm2.ShowModal..." 消息之后。
我怎么了?
【问题讨论】:
-
android下没有真正的modality,只要在你的匿名proc后面加上after showmodal注释,使用LU RD的释放方法...
标签: android delphi firemonkey delphi-xe5