Перейти к содержанию
  • Регистрация
  • 0
Alex Bozhko

Ошибка при запуске приложения

Вопрос

Вот такой шикарный баг в приложении.

 

-Start the application
-While the application is opened (the start icon is displayed), press power button (or close Phone Case)
-Press power button (or open Phone Case)
-Unbloch the screen

Black screen witn or without start icon is displayed, the application is not opened. It's possible to reopen the application via application manager only

 

Вкратце по-русски. Если при запуске приложения в момент, когда на экран выведена заставка, нажать кнопку power, приложение виснет.

 

Чуть мозги себе не сломал, пока отловил причину.

 

Возникает, если при создании главной формы приложения динамически заполнять TComboEdit. Для TComboBox - не воспроизводится.

Актуально для Seattle с апдейтом.

 

Код заполнения примерно такой:

procedure TfMain.FormComboEdit;
var
 SL: TStrings;
 i: integer;
begin
 SL:= TStringList.Create;

 try
   for i := 0 to 10 do
   begin
     SL.Add('String '+IntToStr(i));
   end;

   ComboEdit1.BeginUpdate;
    ComboEdit1.Clear;
    ComboEdit1.Items.AddStrings(SL);
   ComboEdit1.EndUpdate;
 finally
   SL.Free;
 end;

end;

procedure TfMain.FormCreate(Sender: TObject);
begin

FormComboEdit;
end;

Или другой, пробовал несколько вариантов заполнения.

 

Приложение прилагаю.

Blank.zip

Изменено пользователем Alex Bozhko

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

  • 0

Это вопрос или поделился шикарным багом?

Если вопрос - не заполнять сomboedit в FormCreate и вообще ничего там визуального не заполнять и не трогать.

Похожая проблема видел в конструкторе класса формы в CBulder в Seattle, там помогает перенести код из конструктора класса в OnCreate.

Пытался курить форумы чем отличается конструктор класса и метод OnCreate с++ от FormCreate в object pascal - но там люди что-то тяжелое употребляют... мозг можно травмировать.

 

Как вариант попробовать отлавливать vkHardwareBack в FormKeyUp и пресекать его присвоением Key = 0, возможно приложение так реагирует на "press power button (or close Phone Case)". И вообще посмотреть что там приходит в FormKeyUp.

Изменено пользователем Камышев Александр

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

На какой версии воспроизводится баг?

Это корни проблемы с черным экраном на андроиде. В новой версии (Seattle) я ее исправил. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

На какой версии воспроизводится баг?

Это корни проблемы с черным экраном на андроиде. В новой версии (Seattle) я ее исправил. 

Да. В Сиетле проблема не воспроизводится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Похожий контент

    • От Liberator
      Доброго времени суток!
       
      Не знаю, глюк это или так задумано, но ЕСЛИ:
       
      1) Заполнить Items чем-нибудь.
      2) Запустить под Android
      3) Ввести что-либо в строке (раскладка клавиатуры неважна)
      4) Открыть список (кнопкой справа строки)
      5) Закрыть его по кнопке ОТМЕНА
      6) Продолжить ввод, введя ОДИН какой-либо символ
       
      Получаем: строка (введенная раньше) продублировалась. То есть стала в два раза длиннее.
       
      Мне это вынесло мозг, если честно (делаю выбор города с динамическим формированием списка), и на это явление наткнулся при тестировании. Сначала грешил на себя, но сделал чистое приложение, заполнив в дизайне Items - результат тот же самый.
       
      Если кто уже боролся с этим - просьба поделиться опытом.
    • От estra
      Почему у TComboEdit события KeyUp и KeyDown срабатывают только при вводе числовых значений ('0'..'9') и не срабатывает при вводе других символов?
       
      Проверить очень просто
      unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls, FMX.Edit; type TForm1 = class(TForm) ComboEdit1: TComboEdit; Label1: TLabel; Label2: TLabel; procedure ComboEdit1KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); procedure ComboEdit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.ComboEdit1KeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin Label2.Text := 'KeyChar = ' + KeyChar + #13 + 'Ord( KeyChar ) = ' + IntToStr( Ord( KeyChar ) ) + #13 + 'Key = ' + IntToStr( Key ); end; procedure TForm1.ComboEdit1KeyUp(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin Label1.Text := 'KeyChar = ' + KeyChar + #13 + 'Ord( KeyChar ) = ' + IntToStr( Ord( KeyChar ) ) + #13 + 'Key = ' + IntToStr( Key ); end; end.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...