Лидеры
Популярный контент
Показан контент с высокой репутацией 12.05.2016 во всех областях
-
Как добавить стиль в уже готовый StyleBook
zairkz и ещё один отреагировал Равиль Зарипов (ZuBy) за вопрос
да все верно2 балла -
Нажимаем на компоненте Expander правую кнопку мыши, выбираем Edit Custom Style (автоматически будет создать компонент StyleBook), затем в открывшемся редакторе стиля ищем Expander1Style1 (жмем на нем +), в нем Rectangle, в свойстве Fill-Kind которого выбираем None. Закрываем редактор, соглашаемся применить стиль. Всё. Expander станет прозрачным.2 балла
-
Ошибка "Bitmap size too big"
Евгений Корепов отреагировал Rusland за вопрос
Вот и у меня вылезла эта ошибка ."Bitmap size too big". Причем ошибка коварная, появляется не всегда и из-за этого непонятно почему и как ее отловить. Подозреваю что проблема происходит здесь (к ListView прикреплен ImageList с 2 картинками 44х44): var k:integer; Al:TAl; IItem:TListItemImage; TItem:TListItemText; begin Lsv.BeginUpdate; for k := 0 to Lsv.ItemCount-1 do begin IItem:=Lsv.Items[k].Objects.FindDrawable('Imp1') as TListItemImage; TItem:=Lsv.Items[k].Objects.FindDrawable('TxtNumber') as TListItemText; Al:=GetAlFromList(Lsv.Items[k].Tag); if Al.Tip=0 then begin if IItem<>nil then IItem.ImageIndex:=0; if TItem<>nil then TItem.TextColor:=$FFFF0000; end else begin if IItem<>nil then IItem.ImageIndex:=1; if TItem<>nil then TItem.TextColor:=$FF0000FE; end end; Lsv.EndUpdate; end; Продолжаю выяснять откуда ноги растут.1 балл -
THTTPClient не работает при слабом сигнале
Pax Beach отреагировал Tyler Durden за вопрос
I Recommend threading it, here is a quick threading example that works for fmx. simple project with a button and a memo, uses System.Net.Httpclientcomponent procedure TForm1.Button1Click (Sender: TObject); begin TThread.CreateAnonymousThread (procedure () var body: tstringstream; http: tnethttpclient; begin http: = TNetHTTPClient.Create (nil); body: = TStringStream.Create; try http.Get ( 'https://www.google.com',body); tthread.Synchronize (nil, procedure begin memo1.text: = body.DataString; end); finally http.free; body.free; end; end).Start; end;1 балл -
Потоки и процедуры
zairkz отреагировал Равиль Зарипов (ZuBy) за вопрос
Так нужно помнить что в fmx нет нативных компонентов для андроида. Ну кроме Карт и браузера и еще парочки. Такие компоненты имитируют поведение для платформы1 балл -
Потоки и процедуры
#WAMACO отреагировал Равиль Зарипов (ZuBy) за вопрос
дело было не в этой "конструкции", а в размере получаемых данных1 балл -
сделал тестовый пример создаем проект кидаем неск. компонентов и StyleBook загружаем в StyleBook AndroidCoralDark.style, в редакторе стилей в комбо-боксе удаляем Default, оставляем только Android теперь, если свойство StyleBook у формы заполнено, нет пунктов меню Edit Custom/Dwfault style... 7.rar1 балл
-
[Статья] Что нового в TImageList (RAD Studio 10.1 Berlin)
Brovin Yaroslav отреагировал RoschinSpb за тема
Статья: http://community.embarcadero.com/blogs/entry/timagelist101ru-1 Автор: Сергей Рощин Обзор новых возможностей, которые появились в компоненте и редакторе TImageList для Delphi R101 (2016 год, Version 24)1 балл -
[Событие] Мировой тур RAD Studio 10.1 Berlin - Санкт-Петербург
#WAMACO отреагировал Brovin Yaroslav за тема
Места проведения и даты:Санкт-Петербург (26.05.16) Официальный сайт мероприятия: http://www.delphitour.ru Регистрация: http://forms.embarcadero.com/EM-RU-RADStudioEvent160526 Компании Embarcadero и Softline приглашают вас принять участие в семинаре «RAD Studio 10.1 Berlin - новейшая версия средств кросс-платформенной разработки Embarcadero», который состоится в четверг 26 мая 2016 года в г. Санкт-Петербург. Мероприятие посвящено выходу Embarcadero RAD Studio XE10.1 Berlin – решению для быстрой разработки кросс-платформенных приложений, в том числе для Windows 10, мобильных и облачных платформ с поддержкой облачных сервисов, устройств и технологий IoT. Мы расскажем о том, как RAD Studio 10.1 Berlin обеспечивает: абсолютно новый подход к установке и сокращение времени до начала разработки; повышение продуктивности работы разработчиков за счет усовершенствований и расширений среды разработки, в том числе «плавающего» редактора форм; самые современные наборы нативных инструментов, в том числе 14 компиляторов и наборов компонент под разные платформы; ускорение разработки мобильных приложений для Android и iOS (с отладкой и тестированием кода); поддержку новейшей архитектуры Internet of Things, включая десятки подготовленных компонент ThingConnect IoT и служб ThingPoint Edge; готовые к использованию компоненты работы с Bluetooth, BLE и Wi-Fi; новые компоненты Firemonkey и предварительный просмотр непосредственно на устройствах; инструменты разработки Enterprise strong систем, работающих с корпоративными БД, многозвенными и облачными сервисами; и многое другое! Вы сможете задать любые вопросы экспертам, поделиться впечатлениями о продуктах и узнать о дальнейших планах по развитию портфеля решений Embarcadero. Ни один вопрос не останется без внимания! Участие в мероприятии бесплатное.1 балл -
Custom Font
zairkz отреагировал Равиль Зарипов (ZuBy) за тема
я тоже не правильно понял, подумал что сторонние шрифты прикрутили. ан-нет всего лишь стили1 балл -
Ошибка "Bitmap size too big"
Rusland отреагировал Евгений Корепов за вопрос
Ура! Заработало с TBitmapSurface.StretchFrom : ABitmapSurface:=TBitmapSurface.Create; ABitmapSurfaceResize:=TBitmapSurface.Create; TBitmapCodecManager.LoadFromFile('d:\source.png',ABitmapSurface); // png 250x250 MaxImageSize:=50; ABitmapSurfaceResize.StretchFrom(ABitmapSurface,MaxImageSize,MaxImageSize); TBitmapCodecManager.SaveToFile('d:\source_resize.png', ABitmapSurfaceResize); Все работает отменно :-) Итоговый код для загрузки картинки из потока и устранения ошибки "Bitmap size too big": Uses FMX.Graphics, FMX.Surfaces; function GetMaxImageSize : Integer; begin Result:=TCanvasManager.DefaultCanvas.GetAttribute(TCanvasAttribute.MaxBitmapSize); end; procedure CheckAndLoadFromStream(const AStream : TStream; const ABitmap : TBitmap); Var MaxImageSize : Integer; ABitmapSurface,ABitmapSurfaceResize : TBitmapSurface; begin ABitmapSurface:=TBitmapSurface.Create; AStream.Position:=0; TBitmapCodecManager.LoadFromStream(AStream,ABitmapSurface); MaxImageSize:=GetMaxImageSize; if ABitmapSurface.Height>MaxImageSize then begin ABitmapSurfaceResize:=TBitmapSurface.Create; ABitmapSurfaceResize.StretchFrom(ABitmapSurface,MaxImageSize,MaxImageSize); if Assigned(ABitmap) then ABitmap.Assign(ABitmapSurfaceResize); ABitmapSurfaceResize.Free; end Else if Assigned(ABitmap) then ABitmap.Assign(ABitmapSurface); ABitmapSurface.Free; end; Всем спасибо за помощь! Особая благодарность Ярославу! P.S. Процедура для частного случая с квадратным изображением. Для меня осталось не до конца ясным значение возвращаемое TCanvasManager.DefaultCanvas.GetAttribute(TCanvasAttribute.MaxBitmapSize), исходил из догадки что это максимальный размер изображения по вертикали в пикселях. Может Ярослав поставит все точки и разъяснит этот вопрос?1 балл -
Попробуйте TBitmapSurface.StretchFrom1 балл
-
Ошибка "Bitmap size too big"
Rusland отреагировал Евгений Корепов за вопрос
На тестовом устройстве с помощью кода Var MaxWidthHeight: Integer; begin MaxWidthHeight := TCanvasManager.DefaultCanvas.GetAttribute(TCanvasAttribute.MaxBitmapSize); получаю значение 4096. В каких попугаях это число? Судя по MaxWidthHeight это высота изображения? Как получить тогда ширину? Или его размер в байтах? Хотя это врядли, на этом устройстве успешно загружаются картинки в 200 килобайт. Подскажите наиболее правильный путь в моей ситуации - на форме лежит TImage и нужно загрузить в него картинку: Проверять максимальный размер картинки, если загрузить не удастся, то отлупливать пользователя фразой "Нищебродам вход воспрещен". Переписать класс TImage на использование TBitmapSurface вместо TBitmap Загружать картинку сначала в TBitmapSurface, изменять размер и копировать в визуальный Image.Bitmap. Вот тут облом - если не ошибаюсь TBitmapSurface не умеет абсолютно ничего, никаких LoadFromStream (как в него вообще загрузить внешнее изображение?) только readonly свойства и методы.1 балл -
Сами задаем сами отвечаем. Изменения высоты Latifa1Layout->Height = Latifa1Caption->Height + Latifa1Text->Height + 20; сделал в Label(OnResize) и всё. Ошибка исчез.1 балл