Delphi Android 关闭应用程序对话框询问


本文整理自网络,侵删。

 
Android Delphi关闭应用程序
Android的编程方面,我们对VCL应用程序的习惯已发生了很大变化。

更改之一是不再对窗口进行处理,如果不是对Activity的重大更改。

在Android上编写第一个应用程序时,我遇到的一个问题是如何在运行时关闭应用程序,例如,从关闭按钮。

搜索文档后,我发现它与VCL应用程序中的方法相同:

// 运行时关闭应用程序
 
Application.Terminate;
根据Embarcadero docwiki, FMX.Forms.TApplication.Terminate终止FireMonkey中的应用程序。

必须调用Application.Terminate以编程方式终止应用程序。

请记住,在单位的用途中必须具有单位FMX.Forms。

查询关闭的Android应用
现在,为避免数据丢失或意外关闭应用程序,我们必须询问用户是否真的要关闭应用程序。

为此,我们可以在窗体的OnCloseQuery事件中进行操作。

考虑到无论用户想要什么,Application.Terminate命令都会关闭该应用程序,因此我们必须使用Close命令。

在OnCloseQuery事件中,我们放置以下代码:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Close;
end;
 
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := False;
  MessageDlg('你确定要关闭应用程序?', TMsgDlgType.mtConfirmation, [TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], 0,
    procedure(const AResult: TModalResult)
    begin
      if AResult = mrYes then
        Application.Terminate;
    end
  );
end;
我们要做的是通过一个异步过程询问用户,如果他们想关闭应用程序,并且答案是否定的,则我们执行Application.Terminate命令。

否则,我们将变量CanClose:= False放回应用程序的正常过程。

相关阅读 >>

Delphi 对比两个文件是否相同的函数

汇编数据宽度和字节序

Delphi 删除整个目录

tclientsocket和tserversocket用法

Delphi 把exe嵌入到自己的exe中。Delphi xe3

Delphi removewhitespaces 过滤字符串所有空格

Delphi dbgrid应用

Delphi 通过 arp 协议获取局域网内指定 ip 地址的机器的 mac 地址

Delphi中生成控件的两种方法

Delphi自带皮肤的使用

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



打赏

取消

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

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

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

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

评论

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