我正在尝试创建一个登录表单到我的主要Android表单,所以我做这样的事情
var
CanGo: Boolean;
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
loginfrm := Tloginfrm.Create(nil);
try
loginfrm.ShowModal;
CanGo := loginfrm.LoginSuccess = true;
finally
FreeAndNil(loginfrm);
end;
if CanGo then
Application.Run;
end.
我一直在win32应用程序中执行此操作并且其工作正常,当我尝试在触摸屏上停止的Android应用程序上执行相同的操作并且不会显示登录表单时,在Android上显示模式是不同的?我做错了什么?
答案 0 :(得分:4)
这里有很多类似的问题。阅读文档:
FMX.Forms.TCommonCustomForm.ShowModal
警告: Android应用中不支持模态对话框。您应该拨打Show,然后让表单返回并调用您的活动,而不是调用 ShowModal 。我们建议不要在任何一个移动平台(iOS和Android)上使用模态对话框,因为可能会导致意外行为。避免使用模态对话框消除了调试和支持移动应用程序的潜在问题。
自从引入移动平台以来,Embarcadero提出了一种不同的方式来呼叫ShowModal
。所有这些都有缺陷,现在文档告诉你根本不要使用它们。