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等方式来替代,经网友证实是安全可行的。
目录
相关文章
|
Java Android开发 UED
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
2620 0
|
Android开发 定位技术
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
2877 0
|
Android开发
delphi xe 之路(26)xe7开发的安卓程序,体积宏大
<span style="font-family:verdana,'ms song',宋体,Arial,微软雅黑,Helvetica,sans-serif; line-height:21px">原因没找到,但似乎可以这样解决: </span><br style="margin:0px; padding:0px; font-family:verdana,'ms song',宋体,Arial,
3326 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
2458 0
|
Android开发
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
4697 0
|
SQL 存储 程序员
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
4155 0
|
IDE 开发工具
delphi xe 之路(14)使用FireMonkeyStyle
<p>FireMonkey使用Style来控制控件的显示方式。</p> <p>每个控件都有一个StyleLookup属性,FireMonkey就是通过控件的这个属性来在当前窗体的StyleBook控件中查找匹配的Style,如果找到了这个Style,那么控件就使用这个Style来显示。</p> <p> </p> <p>StyleBook是一个Style的集合,里面可以有窗体的Styl
3125 0
Delphi XE之路(11)Delphi XE5 给Edit增加自定义按钮
<span style="color:rgb(64,64,64); font-family:simsun; font-size:14px; line-height:21px; background-color:rgb(135,123,16)">手机上的Edit,如果增加一个按钮,会非常方便用户操作,XE5为我们想到了,下面看看如何为一个TEdit增加一个按钮:</span><br styl
4100 0
delphi xe之路(15)ListView MultiDetail
<span style="font-family:punctuation,微软雅黑,Tohoma; font-size:14px; line-height:22px">经过操作后,要设置MultiDetail下Image的visible为TRUE! 要不然图片不会显示!</span>
3175 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
2861 0