|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
|
2018/6/23 19:19:14 |
标题: |
这是什么情况,android/FMX |
浏览:995 |
|
加入我的收藏 |
楼主: |
请试一下,delphi 10.2.3,在android下: procedure TForm1.Button1Click(Sender: TObject); var astr:string; begin astr:='开始'; showmessage(astr); astr:='结束' ; showmessage(astr); end;
----------------------------------------------
- |
作者: |
|
2018/6/23 19:44:36 |
1楼: |
非阻塞,就得倒着运行,java也这样吗?
----------------------------------------------
-
|
作者: |
|
2018/6/23 20:34:43 |
2楼: |
@sxqwhxq 你自己都说了是非阻塞这样理解了,为什么还有倒着运行的概念呢?
按你理解的方式告诉你: 应该说showmessage是顺着运行,而且都运行了,只是最后运行的窗口挡住了原来的窗口而已。
技术的角度说,看看源码就知道了,showmessage在win平台会模式化,等待用户确定操作后再会继续执行。而安卓平台没有模式化的概念。
----------------------------------------------
-
|
作者: |
|
2018/6/23 20:56:38 |
3楼: |
难道这也得用匿名函数和闭包?
----------------------------------------------
-
|
作者: |
|
2018/6/24 14:13:25 |
4楼: |
@sxqwhxq (步惊云) 难道这也得用匿名函数和闭包?
根据你的发帖内容,我很难理解。 你究竟是Delphi届的大神,还是小白。
一个消息显示的问题,已经解说的很明白了,但你还说个什么匿名函数?闭包?
或许是我小白不懂大神意思了。
究竟你是想深入了解FMX平台的showmessage的在不同平台的底层方法?还是想要showmessage的win效果实现到各个平台。
如果是前者,在FMX中showmessage在win平台是同步(模式化)模式,在安卓平台是异步模式。可以查看其源码。 后者就必须改变思维方式,不要一味的采用showmessage实现跨平台。最有效的跨平台方式就是“老猫”所说的回调函数,自己构建一个对话框(或消息提示),可以通过FMX平台的各组件叠加(还可以加入漂亮的特效)。
----------------------------------------------
-
|
作者: |
|
2018/6/24 22:29:47 |
5楼: |
嗯,指导得对。我不是大神,甚至算不上小白,我只量一个很业余的爱好者。有时对兴趣的内容探索得深一点,但我的知识是很不全面的。
----------------------------------------------
-
|
作者: |
|
2018/6/25 8:22:48 |
6楼: |
https://download.csdn.net/download/lsh341999/10232849
----------------------------------------------
就怕想不到,没有做不到的
|
|