【问题标题】:"Class TForm1 not found" upon launching Delphi Android app. App works fine启动 Delphi Android 应用程序时“找不到类 TForm1”。应用程序运行良好
【发布时间】:2019-01-17 07:16:52
【问题描述】:

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

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

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


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

【问题讨论】:

标签: android forms delphi delphi-10.3-rio


【解决方案1】:

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

该错误是由于 TFormLogin 在 FMX 中指定了 StyleBook 和 StyleLookupStyleName 引用,而 StyleBook 中没有相应的样式 StyleName

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

【讨论】:

  • 给定问题应该可以得到答案。这个问题错过了必填的minimal reproducible example
  • @DavidHeffernan 这是一个很好的规则,但是......当其他人看到这个“未找到 TForm1 类”时,您认为他们会做什么以及他们的搜索查询会是什么?鉴于该错误消息是如此模糊。附言我通常将 -1 视为提示所说的 - “答案没有用”。不能同意 this 答案是not 有用的。
  • 这对收到此错误消息但原因不同的其他人没有用。
  • @DavidHeffernan 让我重新解释一下:这对于收到此错误消息但原因是此的人很有用。因此,如果这对某些人有帮助 - 让它活着,让它与其他答案一起扩展以服务更多人。并且为没有添加足够的上下文而编写此错误消息的人感到羞耻。
  • 谢谢,这样更好。大概解决方法是在样式书属性中将样式命名为'bg'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-16
  • 2021-05-14
相关资源
最近更新 更多