首页 > 解决方案 > 启动 Delphi Android 应用程序时“找不到类 TForm1”。应用程序运行良好

问题描述

我在 Delphi 中制作了一个简单的 Android 应用程序,它创建了一个登录表单。我遇到的问题是,当我在 Android 手机上运行它时,应用程序启动正常,但会弹出一条消息“找不到 Class TFormLogin”(已经显示 FormLogin 后大约 100 毫秒)。尽管 FormLogin 正在创建并按预期工作。当我单击确定时,消息消失,应用程序继续正常工作。

在此处输入图像描述

消息“Class TFormLogin not found”是什么意思以及如何让它消失?

PS因为我已经找到了原因。错误的罪魁祸首是在项目中使用了样书。


根据要求,这里是 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

标签: androidformsdelphidelphi-10.3-rio

解决方案


结果是样书错误消息(措辞应该更具描述性,对吧)。

该错误是由 TFormLogin 具有样书和StyleLookupFMXStyleName中指定的引用引起的,而样书中没有相应的样式StyleName

PS 令我困惑的是,当 StyleLookup 或 StyleName 明确时,代码工作正常。当两者都填满时 - 出现错误消息。


推荐阅读