Перейти к содержанию
  • 0
slava_d2000

Проблема с отображение на андроиде. Itema

Вопросы

Есть код класса отображения Itema.

type
  TNode = class(TTreeViewItem)
  public
    constructor Create(Owner: TComponent; const aText: integer;
                                          const aImageFileName: String); reintroduce;
    destructor Destroy; override;
    procedure Timer1Timer(Sender: TObject);
  private
    i: integer;
    T: TTimer;
  end;

procedure TNode.Timer1Timer(Sender: TObject);
begin
  i := i + 1;
  if (i>360) then
    i :=0;
 Self.StylesData['button1style.Text'] := IntToStr(i);
end;

destructor TNode.Destroy;
begin
  inherited;
  T.Enabled :=False;
  T.Free;
  Showmessage('g');
end;

constructor TNode.Create(Owner: TComponent; const aText: integer;
                                            const aImageFileName: String);
begin
  inherited Create(Owner);

  Self.StyleLookup := 'layout1style';
  Self.Height := 60;
  Self.StylesData['button1style.Text'] := '0';
  Self.StylesData['button2style.Text'] := IntToStr(aText);

  i :=0;
  T := TTimer.Create(Owner);
  T.Interval :=50;
  T.OnTimer := Timer1Timer;
  T.Enabled := true;
end;

в стиле воткнуто 2 кнопки.

 

в форме

 

кнопка которая добавляет строку в TreeView

   Node := TNode.Create(TreeView1, TreeView1.Count, '');
  TreeView1.AddObject(Node);
  Node.Select;

если запустить на компьютере то все нормально работает у каждой кнопке таймер срабатывает и идет пересчет,

если запустить на андроиде.

до 32 позиции все нормально работает.

начиная с 32, item добавляется, кнопки видны, но таймер не работает.

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


Ссылка на сообщение

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

  • 0

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

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


Ссылка на сообщение
  • 0

Ну я же не о том.................

Сделал тест.

получил результат.

 

Хочу разобратся,

мои косые ручки,

либо баги FIREMONKEY

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


Ссылка на сообщение
  • 0

Вполне возможно - это ограничение Android на количество занимаемых системных ресурсов.

После активации таймера проверьте его свойство Enabled - если таймер не удалось создать, оно будет False.

 

Но это не отменяет моего предыдущего высказывания - куча таймеров является абсолютно излишней. Это некорректное проектирование приложения.

Отредактировал kami

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


Ссылка на сообщение

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

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

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

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

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

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

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

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


  • Последние посетители   0 пользователей онлайн

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

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