• 0
Ra72

TStyleBook [TStyleBook] [TStyleStreaming] Почему TStyleStreaming.SaveToStream не сохраняет полностью все стили на Android?

Вопрос

Следующий код не работает на Android. На Win32 в FBinary записывается примерно 100 килобайт, а на Android - 36 байт.

  FBinary := TMemoryStream.Create;
  TStyleStreaming.SaveToStream(AStyleBook.Style, FBinary, TStyleFormat.Binary);

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


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

2 ответа на этот вопрос

  • 0

На андроиде идет загрузка стилей по мере необходимости. Это значит, что пока стиль не использован хотя бы раз в платформе, то он не будет грузиться в память. Это сделано для ускорения запуска приложения на мобильных телефонах. Посколько большую часть времени занимает чтение всех стилей из ресурсов в память.

zairkz, Kitty, Andrey Efimov и 2 другим понравилось это

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


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

P.S. Как загрузить StyleBook в Android из ресурсов принудительно? Или это новая тема?

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


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

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Похожие публикации

    • Автор: Ra72
      Уважаемые эксперты!
      Хочу написать свой редактор стилей для мобильных платформ.
      Для полного счастья не хватает знаний каким образом из TStyleBook.Style выгрузить его изменения в TStyleBook.Resource для последующего сохранения в файл.
       
    • Автор: sviat9440
      Всем привет! Давно с вами не виделись)) Вот такая проблема есть: У меня Виндовс 10, и все корректно отображается. Я имею в виду стили. У меня на данный момент нет возможности протестировать приложение на Виндовс 7, но прилагаю скрины (Как должно/Как отображается). Вопрос: Проблема у меня? Или на стороне FireMonkey?
       
      Попутный вопрос: Если на стороне FireMonkey, то как узнать версию ОС, чтобы при запуске на вин7, сообщать пользователю что то типа "Твоя ОС не поддерживается"?
       
      Дополнительная информация: Используется Delphi XE 10 Seattle.


    • Автор: Ra72
      Уважаемые эксперты!
      Подскажите, как сохранить StyleBook в текстовом формате *.style динамически (во время исполнения программы) ? Например:
      object TLayout Align = alClient Height = 715.000000000000000000 Position.Y = 33.000000000000000000 Width = 1162.000000000000000000 object TSwitchObject StyleName = 'switchstyle' ...
    • Автор: Vitaldj
      Есть рабочий код, но без ошибок работает только в win32 и MacOsX:
       
      var

       lStream1 : TMemoryStream ;
      begin
       lStream1 := TMemoryStream.Create;
       form1.IdHTTP1.Get( 'http://мой сайт'+, lStream1);
       lStream1.SaveToFile(ExtractFilePath(ParamStr(0)) + tstr.Strings[3] );
       lStream1.Free;
       
      Ошибка только на строчке  lStream1.Free и только в win64. На win32 и MacOsX нет.
      Почему ошибка?
    • Автор: basnik
      Требуется консультация по составлению интерфейса и его верстка по готовому макету.
      ОС:Android
      Платформа: Delphi XE7
       
      Задачи: 
      - Создание стилей для FireMonkey 
      - Верстка интерфейса по макету 
      Требования: 
      - Опыт разработки мобильных приложений и интерфейсов 
      - Желание работать в команде 
      - Внимательность, способность выполнять работу качественно и в установленные сроки 
      - Коммуникабельность, адекватное восприятие критики, дисциплинированность и ответственность
       
      Работа удаленная, оплата по договоренности.
       
      Skype: basnik31
      ICQ: 629993
    • Автор: HoShiMin
      Загружаю картинку в TBitmap из TMemoryStream, но иногда в TBitmap копируется только часть картинки. Загружаю следующим кодом:
      var   ResourceStream: TResourceStream;   Bitmap: TBitmap; begin   ResourceStream := TResourceStream.Create(hInstance, 'IMAGE_NAME', RT_RCDATA);   ResourceStream.Position := 0;   Bitmap.LoadFromStream(ResourceStream);     ResourceStream.SaveToFile('img_res.png');   Bitmap.SaveToFile('img_bitmap.png');     FreeAndNil(ResourceStream); end; В итоге в img_res.png нормальное изображение, а в img_bitmap.png первые N байт оригинала, при одинаковом размере картинки N одинаковое. С TMemoryStream аналогично.
      Как исправить?
    • Автор: Gor777
      Коллеги
      Есть проблема:
      Есть картинка созданная средствами сторонней dll, от нее у меня только HBITMAP Как мне ее перекинуть в TBitmap, и вывести ее например в контрол TImage?  
    • Автор: xenon54
      Сделал кастомный TCustomRoundRect  (потомок TRoundRect), хочу использовать его в стилях, а не тут-то было. Такая вот ошибка появляется при запуске приложения.
    • Автор: kidrock1
      Всем привет, друзья. Столкнулся со следующей проблемой. Создаётся поток с целью загрузки картинок во время чтения статьи. Да так чтобы основная форма в момент загрузки не была заморожена. Вот код:
      type ThreadHTTP1=class(TThread) private i:integer; public procedure Execute;override; procedure ShowResult1; end; procedure ThreadHTTP1.Execute; var j:integer; begin inherited; try lStream1 := TMemoryStream.Create; Form3.IdHTTP1.Get('http://totalmma.ru/newsupload/8306.jpg',lStream1); except // ShowMessage('no'); end; Synchronize(ShowResult1); end; procedure ThreadHTTP1.ShowResult1; begin ShowMessage(IntToStr(Form3.IDHTTP1.Response.ContentLength)); Form3.Image1.Bitmap.LoadFromStream(lStream1); Form3.Image1.Visible := true; Form3.Caption:=IntToStr(i)+' kbs'; Form3.IdHTTP1.Free; Stream.Free; end; procedure TForm3.Button1Click(Sender: TObject); var MyHTTP1:ThreadHTTP1; begin MyHTTP1 := ThreadHTTP1.Create(False); end; Так вот проблема в следующем. На винде всё работает. А вот когда компилируешь под андройд и переносишь на телефон, при нажатии на кнопке ничего не происходит. Очень прошу помочь, друзья.
    • Автор: ANovokreschenov
      Поставил XE7, создаю новое приложение FMX, добавляю на форму StyleBook, захожу в Style Designer, добавляю TLayout и в него добавляю TRectangle, в дереве объектов выделяю TRectangle, но он не выделяется в дизайнере, если попробовать потянуть его мышкой в дизайнере, то он улетает в правый нижний угол окна дизайнера... Пробовал разные комбинации, результат один и тот же - невозможно выделять и манипулировать объектами в дизайнере... Баг подтвержденный, есть в QC... А есть ли какой-то workaround/path для этой проблемы? Или ждать Update N или XE 8?
       
      Использую в работе Delphi более 12 лет, лучшая версия - Delphi 7, все что после - слабая надежда на кроссплатформу... сейчас смотрю на C# и Xamarin...
       
      Для чего такой продукт и тем более за такие деньги?
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу