Delphi XE之路(7)Mobile MessageDlg函数

简介: <div style="margin:0px; padding:0px; font-family:punctuation,微软雅黑,Tohoma; font-size:14px; line-height:22px"> <span style="margin:0px; padding:0px; color:rgb(50,62,50); font-family:simsun">在用XE5创建
在用XE5创建了移动应用后,一般会在工程里添加System.Types, System.UITypes,FMX.Dialogs单元,这里面定义了MessageDlg函数用到的声明、枚举类型定义等。
正常情况下,在windows下使用MessageDlg函数其定义是:
function MessageDlg(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint): Integer;

具体使用方法是:
if MesageDlg('您要退出应用吗?',mtInformation,[mryes,mrno],0)=mbyes then
   ........

但在mobile(FMX架构)下的应用却不是这样,编译会报错。原来XE5开发移动应用(不知道开发winfors是不是也这样)在引用枚举类型时也要像引用类成员一样,加类标识符
if messagedlg('要退出吗',TMsgDlgType.mtWarning,[TMsgDlgBtn.mbYes,TMsgDlgBtn.mbNo],0)=mryes then
这样在XE5下的编译就能通过了

注:使用这个函数有个缺陷--即如果你在程序中点了手机的返回键(硬件),此时应用程序弹出对话框让你确认操作,但不小心来了电话或切换到其它程序中去了,这时你返回来的时候便会出现死机的情况(有人说这是EMB的一个设计错误,一个BUG),但如果在没有弹出这个对话框的时候进行切换则不会出现死机状况。至今还没有解决之道,希望有机会能解决这个难题。

另外,在应用程序中执行确认操作可以使用TPOPUP等方式来替代,经网友证实是安全可行的。
何剑
+关注
目录
打赏
0
0
0
0
7
分享
相关文章
Delphi XE之路(9)Delphi XE android mutilistview
<p style="margin:10px auto; color:rgb(77,77,77); font-family:Tahoma,Geneva,Arial,Helvetica,sans-serif; font-size:13px; line-height:26px"> C:\Users\Public\Documents\RAD Studio\12.0\Samples\FireMon
4711 0
delphi xe 之路(14)使用FireMonkeyStyle
<p>FireMonkey使用Style来控制控件的显示方式。</p> <p>每个控件都有一个StyleLookup属性,FireMonkey就是通过控件的这个属性来在当前窗体的StyleBook控件中查找匹配的Style,如果找到了这个Style,那么控件就使用这个Style来显示。</p> <p> </p> <p>StyleBook是一个Style的集合,里面可以有窗体的Styl
3136 0
delphi xe 之路(20)clientdataset的详细介绍02
<div style="margin:0px; padding:0px; font-family:punctuation,微软雅黑,Tohoma; font-size:14px; line-height:22px"> <span style="margin:0px; padding:0px; color:rgb(12,12,12); font-family:simsun">ClientD
2483 0
delphi xe 之路(19)clientdataset的详细介绍01
<div style="margin:0px; padding:0px; font-family:punctuation,微软雅黑,Tohoma; font-size:14px; line-height:22px"> <span style="margin:0px; padding:0px; color:rgb(12,12,12); font-family:simsun"><strong
4186 0
delphi xe之路(15)ListView MultiDetail
<span style="font-family:punctuation,微软雅黑,Tohoma; font-size:14px; line-height:22px">经过操作后,要设置MultiDetail下Image的visible为TRUE! 要不然图片不会显示!</span>
3191 0
DELPHI XE2马上推出
DELPHI XE2马上推出 将是一场技术革命 DELPHI XE2 马上要推出了,那将是一场技术革命!支持64位开发,移动平台开发,web开发等等...今天参加了Delphi XE2的产品发布会,趁热打铁,整理下笔记,看看XE 2中到底有什么新东西。
993 0
delphi xe 之路(30)Delphi XE7 update1进步太大了
<span style="background-color:rgb(255,255,255)"><span style="color:rgb(64,64,64); font-family:'Microsoft YaHei','Helvetica Neue',SimSun; font-size:14px; line-height:21px">1.更新的bug列表并不全</span><br s
2647 0
Delphi XE之路(8)xe5 android 手机上使用sqlite
<div style="margin:0px; padding:0px; font-family:punctuation,微软雅黑,Tohoma; font-size:14px; line-height:22px"> <span style="margin:0px; padding:0px; color:rgb(70,70,70); font-family:simsun">转载自:</s
4512 0
delphi xe 之路(23)clientdataset的locate函数
<div style="margin:0px; padding:0px; font-family:punctuation,微软雅黑,Tohoma; font-size:14px; line-height:22px">  <span style="margin:0px; padding:0px; color:rgb(51,51,51); font-family:arial,'courier
2891 0
delphi xe 之路(28)开发 Android URI简介
<div style="color:rgb(50,62,50); font-family:simsun; font-size:14px; line-height:21px"> <h3 style="margin:0px; padding:0px; border:0px; list-style:none"> <span style="background-color:rgb(255,255
2885 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等