2014-09-05 62 views
3

加载我的应用程序期间,我正在加载设置和其他内容,并希望能够向用户显示消息。但是,这不适用于我针对iOS(iOSSimulator)的Delphi XE6 FireMonkey应用程序。在iOS上的程序加载期间无法显示消息

当我在程序加载过程中调用ShowMessage或MessageDlg时,它会锁定,并且不显示任何内容。它可能进入了模式状态,但由于没有显示消息,因此无法继续。 即使在FormActivate的主窗体中,调用ShowMessage也不会显示任何内容。

如何在加载应用程序时显示消息?

+0

我对Firemonkey一无所知,但它听起来像你需要加载设置和其他事情在一个单独的线程 – SomeGuy 2014-09-05 10:13:55

+0

我希望能够显示模式消息,用户可以回答例如是/否,这会影响应用程序的加载方式,但这可能违反了iOS的工作原理吗? – Hans 2014-09-08 10:08:21

回答

0

我很惊讶,以前没有人写过关于这个,也没有Firemonkey用户回答我的问题。 允许您在程序加载过程中调用Showmessage,但是如果您这样做,则应用程序锁定,这不是恰当的行为。在桌面应用程序中,在程序加载期间显示消息是非常正常的,以防万一发生故障。
我将一个500k的项目从VCL转换为FMX,由于我无法在iOS上显示消息,我将不得不重构创建和加载代码。

我打算实施的解决方案是制作故障安全解决方案,无论发生什么情况都可以加载应用程序,然后当应用程序运行时,我可以显示加载过程中出现的任何消息(用户拥有的消息考虑)。

如果有人有更好的解决方案的信息或建议,请评论。

+0

在应用程序的一生中的某些时候,某些函数不能被调用似乎是完全合理的。为什么那么无理? – 2014-09-17 09:38:01

+0

也许是因为我已经使用了VCL太多年了:-)(在VCL中,我可以随时致电Showmessage) – Hans 2014-09-17 10:28:25

+1

虽然移动是一个不同的世界,但FMX尽管表面上的相似之处在于VCL的巨大变化 – 2014-09-17 10:29:21

1

您可以使用加载符号和消息。它会满足你的目的。你可以使用“MBProgressHud”,你不需要付出额外的努力,只需传递参数,它会显示加载图像和文本。请享用!

+0

这不是控制Cocoa控件吗? – 2014-09-05 13:29:44

+0

谢谢您的回复。 [MBProgressHUD](https://github.com/matej/MBProgressHUD)是一个自定义的Xcode组件。它看起来不错,但在Delphi Firemonkey中需要一点点工作才能使用它。 – Hans 2014-09-08 10:04:54

+0

如果确定,请接受答案。 – nadim 2014-09-09 08:46:45

相关问题