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

TGrid и картинка из TBlobField на Android


Freezer_86

Вопрос

Пишу кроссплатформенное приложение. Результат поиска отображается в TGrid. Стал вопрос отображения картинки в одной из колонок.

На Windows все ок, но на планшете происходят просто чудеса: при первом отображение все корректно, но если простоколить вверх-вниз как картинки одни перетираются другими, часть вообще отображается вверх ногами.

Код для сохранение картинки(jpg) в базу:

if Assigned(sm) then begin
  sm.Position := 0;
  //TBlobField(dmData.cdsPlayerData.FieldByName('Photo')).LoadFromStream(sm);

  vImage := TImage.Create(nil);

  try
    sm.Position := 0;
    vImage.Bitmap.LoadFromStream(sm);

    vKoef := vImage.Bitmap.Height / 64;

    vImage.Bitmap.Resize(Trunc(vImage.Bitmap.Width / vKoef), Trunc(vImage.Bitmap.Height / vKoef));

    sm.Free;
    sm := TMemoryStream.Create();

    try
      vImage.Bitmap.SaveToStream(sm);
      TBlobField(dmData.cdsPlayerData.FieldByName('SmallPhoto')).LoadFromStream(sm);
    finally
      sm.Free;
    end;
  finally
    vImage.Free;
  end;

end{if};

До скрола:

Screenshot_20170725-183545.thumb.png.4698c66d810bf6345198966e41784b6f.png

После скрола:

Screenshot_20170725-183501.thumb.png.c861639ace51cb6ac8d2d03ebfffc9ea.png

Пробовал и LiveBinding, и ручную прорисовку - результат один и тот же. Есть идеи что не так?

P.S. Знаю что нужно делать через TListView, но заказчик хочет «сеточку как в старой программе», так как на android будет работать только на планшетах – я согласился.

 

Ссылка на комментарий

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

  • 0

Как я вижу есть несколько возможных причин: неверный формат данных, неверная реализация TGrid под Android, неподдерживаемая комбинация компонентов, ошибки в моем коде реализации (что маловероятно поскольку кода почти нет, Live Binding).

Неужели никто не сталкивался с подобными проблемами?

Ссылка на комментарий

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

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

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

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

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

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

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

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

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