Freezer_86

Пользователи
  • Публикаций

    7
  • Зарегистрирован

  • Посещение

Информация о Freezer_86

  • Звание
    Новичок

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

Включить
  1. Это не очень относиться к теме но оставлю это здесь, вдруг кому пригодиться. В моей задаче нужно было еще отслеживать на какой странице находиться пользователь, а как оказалось свойство URL тоже работает некорректно. Пришлось "накостылять" следующее: В WebBrowser.Android.pas добавляем: function TAndroidWebBrowserService.originalUrl: string; begin if FJWebBrowser = nil then Result := FURL else Result := JStringToString(FJWebBrowser.getOriginalUrl); end; В WebBrowser.Win.pas добавляем: function TWindowsWebBrowserService.LocationUrl: string; begin Result := FUrl; if FInstance <> nil then Result := FInstance.LocationURL; end; В WebBrowser.pas изменим: function TKCustomWebBrowser.GetURL: string; begin if (csDesigning in ComponentState) or (FWeb = nil) then Result := FURL else {$IFDEF MSWINDOWS} Result := (FWeb as TWinWBMediator).WB.LocationUrl; {$ELSE} Result := (FWeb as TAndroidWebBrowserService).originalUrl {$ENDIF} end; Как результат - корректная работа панели навигации.
  2. Натыкался на такую проблему, смог обойти написанием своей копией TWebBrowser. Основное изменение для обхода именно ошибки с CoboBox'ом это в начале процедуры TCustomWebBrowser.FormHandleCreated вставкой кода: {$IFDEF MSWINDOWS} exit; {$ENDIF} После этого никаких проблем с пересозданием. Правда у меня все браузера создаются в Runtime. Не знаю или это подойдет для нормальной работы с загрузкой из DFM.
  3. Freezer_86

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

    Как оказалось - проблемы были в самой Delphi. После обновления на 10.2.1 - тот же код работает без каких либо проблем.
  4. Freezer_86

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

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

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

    не пробовал, но если на Windows все ок, значит TBitmap коректный. Или не всегда? Подготовил тестовый проект который иллюстрирует проблему: GridBlobTest.rar
  6. Freezer_86

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

    Delphi 10.2 Tokyo Android 6.0
  7. Freezer_86

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

    Пишу кроссплатформенное приложение. Результат поиска отображается в 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}; До скрола: После скрола: Пробовал и LiveBinding, и ручную прорисовку - результат один и тот же. Есть идеи что не так? P.S. Знаю что нужно делать через TListView, но заказчик хочет «сеточку как в старой программе», так как на android будет работать только на планшетах – я согласился.