• 0
Ra72

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

Вопросы

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

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

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


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

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

  • 0

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

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


Ссылка на сообщение
Поделиться на другие сайты
  • 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 пользователей онлайн

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