#android #delphi #crash #rad-studio
Вопрос:
Я новичок в Delphi и создаю простое мобильное приложение для Android с экраном входа и регистрации. Когда я запускаю приложение на рабочем столе win 64, оно работает нормально, но когда я запускаю его на своем телефоне (android 64, Samsung A5) и нажимаю кнопку регистрации, чтобы перейти к экрану регистрации с экрана входа в систему, происходит сбой. Код кнопки:
begin
Application.CreateForm(TRegister_form, Register_form);
Register_form.Show;
Application.MainForm := Register_form;
Login_form.Close;
Login_form.Free;
Login_form := nil;
end;
Есть ли какие-либо идеи о лучшем способе или почему он выходит из строя?
Ответ №1:
Если вы посмотрите на документацию для MainForm, вы увидите, что MainForm доступна только для чтения во время выполнения, и поэтому ее нельзя изменить
MainForm не может быть изменен во время выполнения (он доступен только для чтения во время выполнения).
Вам придется использовать другой подход для достижения желаемого. В Интернете есть много примеров того, как обрабатывать формы входа или заставки в Delphi. Здесь даже есть некоторые ответы на вопросы по этой же теме в Stack Overflow.
Кроме того, первая форма, созданная Application.CreateForm
автоматически, становится the Application.MainForm
, поэтому ваши попытки сделать это в опубликованном вами коде в любом случае были бы бессмысленными — Register_Form
это уже the Application.MainForm
.