Перейти к содержанию
Fire Monkey от А до Я

Лидеры

  1. marsden

    marsden

    Пользователи


    • Баллы

      2

    • Постов

      6


  2. Andrey Efimov

    Andrey Efimov

    Модераторы


    • Баллы

      1

    • Постов

      842


  3. Равиль Зарипов (ZuBy)

    Равиль Зарипов (ZuBy)

    Модераторы


    • Баллы

      1

    • Постов

      2 517


  4. enatechno

    enatechno

    Пользователи


    • Баллы

      1

    • Постов

      181


Популярный контент

Показан контент с высокой репутацией 26.06.2017 во всех областях

  1. Как вы считаете, удалять объект из самого этого объекта - это нормально?
    1 балл
  2. судя по исходникам, при установленном свойстве картинка считается собственностью ListItemImage и при ListItemImage.Destroy уничтожается. То есть для того, чтобы не было проблем с памятью и сегфолтами надо битмап копировать
    1 балл
  3. marsden

    ListView в Берлине и в Токио

    такая же проблема, но сделано все проще- у ListView выставлено свойство Images, Items создаются программно, у них выставляется ImageIndex. Как бы стандартный путь, но... В винде работает, а на смартфоне нет картинок ((( UPD: Моё решение проблемы неотображаемых картинок в ListBoxItem на смартфоне (Android) 1. Картинки находятся в ImageList1, размер 40х40 2. ListView обычный стандартный без переделок, 3. Delphi 10.2 Tokyo procedure TMyForm.ListView1UpdateObjects(const Sender: TObject; const AItem: TListViewItem); var I:TListItemImage; B:TBitmap; begin I:=AItem.Objects.FindDrawable('I') as TListItemImage; // такое имя у стандартного ListViewItem без всяких кастомизаций if I<>nil then begin B:=ImageList1.Bitmap(tsizef.Create(40,40),I.ImageIndex); // вытаскиваем картинку по индексу, который задан ранее при заполнении ListView I.OwnsBitmap:=true; // указываем ListViewItem, чтобы он уничтожал экземпляр картинки при своем уничтожении I.Bitmap:=TBitmap.Create; //создаем картинку, которая будет автоматом уничтожена I.Bitmap.Assign(B); // и копируем в нее контент end; end; Если не пользовать Assign, а напрямую присваивать I.Bitmap=ImageList1.Bitmap(.... , то при уничтожении ListViewItem возникает invalid Pointer, поскольку в TListItemImage.Destroy картинка уничтожается без всяких проверок - есть ли жизнь на марсе, нет ли жизни на марсе ли она вообще.
    1 балл
  4. посмотрите вот это
    1 балл
  5. Вы в курсе что Embarcadero рекомендует использовать API которое идет по умолчанию со средой, и не рекомендует сторонние не проверенные со средой версии? У меня на Berlin update 2 стоит 24.3.3 - версия которая пришла со средой, все работает стабильно уже длительное время.
    1 балл
  6. Как правильно удалять контролы в RunTime? Automatic Reference Counting in Delphi Mobile Compilers
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...