delphi Android应用程序的关闭退出


本文整理自网络,侵删。

 在VCL中,关闭程序的主窗体也就意味着程序的主循环结束,主程序自然而然结束。所以在主窗体中使用窗体的关闭函数(Close)即可,如下:

procedure TfrmMain.btncloseClick(Sender: TObject); 
begin 
  Close; 
end; 

 

在FMX中,由Activity替代了Form的概念,虽然TForm类仍然存在,但MainForm通过关闭函数无法结束程序,使用Application.Terminate均无效,调整为:

uses 
  FMX.Platform.Android;

procedure TForm2.SpeedButton1Click(Sender: TObject); 
begin 
  MainActivity.finish; 
end; 

此时程序直接关闭了,如果需要在退出前询问一下,可以参考VCL中的做法,在按钮事件中仍然使用关闭函数,在OnCloseQuery事件中询问是否退出,在OnClose事件中实现程序的关闭,如下:

uses 
  FMX.Platform.Android;

procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction); 
begin 
  {退出程序} 
  MainActivity.finish; 
end;

procedure TfrmMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean); 
begin 
  if MessageDlg('是否退出?', 
    TMsgDlgType.mtConfirmation, 
    [TMsgDlgBtn.mbOK, TMsgDlgBtn.mbCancel], 
    -1) = mrOK then 
    CanClose := true 
  else 
    CanClose := false; 
end;

procedure TfrmMain.btncloseClick(Sender: TObject); 
begin 
  Close; 
end; 

在虚拟机中运行如下:

相关阅读 >>

干掉360保险箱vb/vc/Delphi 源码

Delphi tadodataset 加载数据到fdmemtable1

Delphi 判断字符是否是汉字,bytetype字符串中判断是否英文

Delphi adoquery1 update更新数据

Delphi findfiles获取目录下所有文件

Delphi 验证tstrings是否存在

Delphi写一个简单的多线程的程序

android实例-拍摄和分享照片、分享文本(xe8+小米2)

Delphi获取dll的函数列表

Delphi实现屏幕截图、窗口截图、指定区域截图

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...