«Класс TForm1 не найден» при запуске приложения Delphi для Android. Приложение работает отлично - PullRequest
0 голосов
/ 17 января 2019

Я сделал простое приложение для Android в Delphi, которое создает форму входа. У меня проблема в том, что когда я запускаю его на телефоне Android, приложение запускается нормально, но появляется сообщение «Класс TFormLogin не найден» (примерно через 100 мс после того, как FormLogin уже показан). Несмотря на то, что FormLogin создается и работает как задумано. Когда я нажимаю «ОК», сообщение исчезает, и приложение продолжает нормально работать.

enter image description here

Что означает сообщение "Класс TFormLogin not found" и как его убрать?

P.S. Поскольку я уже нашел причину. Виновником ошибки было использование 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

1 Ответ

0 голосов
/ 17 января 2019

Это сообщение об ошибке StyleBook (формулировка должна быть более наглядной, верно).

Ошибка была вызвана тем, что TFormLogin имел ссылки на StyleBook и ссылки StyleLookup и StyleName, указанные в FMX, тогда как в StyleBook не было соответствующего стиля StyleName.

P.S. Что меня озадачивает, когда StyleLookup или StyleName понятны, код работает нормально. Когда оба заполнены - появляется сообщение об ошибке.

...