用一个简单的登录表单在 Delphi 中编写了一个简单的 Android 应用程序。问题是,当我在智能手机上运行它时,应用程序启动正常,但显示错误消息“找不到 Class TFormLogin”(FormLogin 出现后大约 100 毫秒)。无论如何,FormLogin 都会按预期创建和工作。在消息上单击确定后,应用程序继续正常工作。
消息“Class TFormLogin not found”是什么意思以及如何删除它?
附言 我已经解决了问题,我会说这里涉及到StyleBook。
评论要求制作 MCVE。该错误在新的空多平台项目中重现,PAS 或 DPR 中没有任何代码。这个 FMX 就足够了:
object Form1: TForm1
StyleName = 'bg'
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 480
ClientWidth = 640
StyleBook = StyleBook1
StyleLookup = 'bg'
FormFactor.Width = 320
FormFactor.Height = 480
FormFactor.Devices = [Desktop]
DesignerMasterStyle = 0
object StyleBook1: TStyleBook
Styles = <
item
end>
Left = 304
Top = 224
end
end

事实证明,这个错误来自样书(是的,它的文本应该更合理)。
该错误消息是由 TFormLogin 使用样书并在 FMX 中具有指定的 StyleLookup 属性和 StyleName 引起的,而样书本身没有这样的样式(StyleName)。
PS 令我困惑的是,如果 StyleLookup 或 StyleName 属性之一为空,那么一切正常。并且仅当两个字段均已填写时 - 一条错误消息。