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

Brovin Yaroslav

Администраторы
  • Постов

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

  • Посещение

  • Победитель дней

    390

Весь контент Brovin Yaroslav

  1. Лучше всего завести баг в http://quality.embarcadero.com/ Но иногда значения отладчика могут отличаться от реальных... То есть, в всплывающей подсказке у вас получается 0. Однако, если попробовать вывести это значение в лог, оно может отличаться от 0. Я бы начал проверку с этого (выведите в лог и посмотрите, правильно ли отладчик отображает значение)
  2. Для режима DropDownKind = TDropDownKind.Native TComboBox берет только текст от итемов. Поэтому, если вам нужна расскраска и пользоваться всеми свойства TListBoxItem, переключите режим на: ComboBox1.DropDownKind := TDropDownKind.Custom
  3. TComboBox имеет две реализации выпадающего списка. Выбор реализации зависит от свойства DropDownKind. TDropDownKind.Custom - означает, что будет TComboBox будет сам реализовывать выпадающий список. Он его делает на основе TPopup и TListBox. Так как TComboBox хранит в себе элементы TListBoxItem. То вы можете создать специальные стили для раскрашивания и указывать их для требуемых элементов выпадающего списка. Пример, упоминания есть тут: [Windows] TComboBox, как разрешить использовать кастомные, стилизованные TListBoxItem в выпадающем списке? В случае с TDropDownKind.Native на iOS и Android используются нативные контролы, которые не подлежат стилизации FireMonkey. Они еще известны в FireMonkey, как Pickers (FMX.Pickers.pas) На Windows и OSX вместо нативных используется эмуляция, в которой используется наш TListBox в выпадающем окне. Однако, он не доступен напрямую для редактирования стилей элементов, в целях универсальности.
  4. Estra, Меньше эмоций и непроверенных предположений, больше слов по делу и вопросу. Пример использования фонарика есть в примерах студии: C:\Users\Public\Documents\Embarcadero\Studio\15.0\Samples\Object Pascal\Mobile Samples\Device Sensors and Services\FlashLight Нужно разместить на форме компонент TCameraComponent. Свойство TorchMode отвечает за включением и отключением вспышки. Включить свет: Camera.TorchMode := TTorchMode.ModeOn Выключить: Camera.TorchMode := TTorchMode.ModeOff P.S. Приведенный вами код, это код абстрактного класса. А не конкретная реализация под платформу iOS. Конкретные реализации находятся в FMX.Media.iOS.pas.
  5. Добрый день, Нет, TListView не поддерживает создание элементов в DesignTime, только в RunTime. Но такая функция будет очень полезной.
  6. Это основы языка и основы работы с вещественными числами. Для таких сравнений нужно использовать функции из System.Math.SameValue
  7. Нет, базовый Timage не поддерживает 9-patch изображения. Однако, в FireMonkey для создания растровых стилей есть специальный объект, позволяющий вывести такое изображение: FMX.Styles.Objects.TStyleObject. Чтобы этот объект появился в палитре инструментов его нужно зарегистрировать. Это можно сделать так: Редактирование стиля, как добавить "TStyleObject", "TActiveStyleObject" и т.п.? Или просто установить пакет FGX, который в том числе регистрирует все стилевые объекты.
  8. При сборке приложения из среды, IDE автоматически указывает минимальную поддерживаемую версию в файле: <Название проекта>.info.plist Строчка отвечающая за минимальную версию в этом файле: <key>MinimumOSVersion</key> <string>6.0</string>
  9. Эта статья должна вам помочь: How to Handle Delphi Anonymous Methods in C++
  10. Последняя версия iOS SDK всегда совместима с со всеми предыдущими версиями iOS. Поэтому необходимость в наличии предыдущих версий iOS API отпадает автоматически. Что и объясняет отсутствие возможности официально достать предыдущие версии с сайта developer.apple.com.
  11. Полезная информация о представлении вещественных чисел в компьютере, объясняющая почему нельзя получить значение 0,3 в машинном представлении: Машинный ноль
  12. С какой целью требуется достать старый SDK?
  13. Brovin Yaroslav

    ошибка e8008015

    С вероятность 99% все такие ошибки связаны с неправильной настройкой девайса для отладки. Поэтому они решаются обычно проверкой сертификата и Provision Files. По вашей ошибке: Adhoc distribution not working, error e8008016 displays as 0xE8000001 Error during install of Distribution Build onto device
  14. Добрый вечер, Я не особо в курсе Push уведомлений, так как они введены на уровне RTL. Но судя по коду, вы можете написать свой сервис, по аналогии с FMX.PushNotification.Android.pas, отнаследовавшись от TPushService и реализовав Push сообщение на базе TPushServiceNotification. И по идеи вы сможете использовать свой провайдер Push уведомлений
  15. Потому что Google Android не дает возможность сделать блокируемый диалог без блокирования основного потока приложения. Поэтому в XE6 при вызове ShowMessage мог блокироваться основной тред приложения, в результате чего приложения находится в состоянии "Не отвечает" (не отрисовывается и тд.) И Android мог решить, что возникла какая-то проблема. Поэтому сделан не блокирующие диалоги с асинхронным уведомление о закрытии диалога.
  16. Hotfix для возможности развертывания мобильных приложений в Apple App Store. Этот фикс совместим с XE5, XE6, XE7 Скачать: http://cc.embarcadero.com/item/30022
  17. Добрый день, Используйте вариант функции MessageDlg с дополнительным параметром ACloseDialogEvent. Теперь диалоги не блокируемые на андроиде. Поэтому результат выполнения диалога приходит в указанный Callback. MessageDlg('Удалить секцию: ' + LabelSection.Text + '?', TMsgDlgType.mtConfirmation, [TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], -1, procedure (const AResult: TModalResult) begin if AResurlt = mrYes then // end) Ссылка на эту тему: [Android] Использование ACloseDialogProc в MessageDlg
  18. В XE7 диалоговые окна стали не блокирующими. То есть, событие закрытия диалога приходит асинхронно через указанный CallBack. В ShowMessage нету параметра CallBack. Поэтому вместо него нужно использовать: MessageDlg('Text', TMsgDlgType.mtCustom, [TMsgDlgBtn.mbOK], -1, procedure (const AResult: TModalResult) begin Application.Terminate; end); Ссылка на эту тему: [Android] Использование ACloseDialogProc в MessageDlg Пример использования MEssageDlg в C++ Builder
  19. Начиная с XE7 TEdit построен с использованием представлений. Частично общая идея описана тут: Нативные элементы управления Что это означает теперь для разработчиков компонентов? Что в вашем ситуации, старая реализация перенесена полностью в представление FMX.Edit.Style.TStyledEdit. Варианта два: 1. Создание своей модели данных Все данные TEdit теперь хранятся в отдельном классе - моделе. Вы можете создать свою модель данных для, отнаследовавшись от TCustomEditModel и перекрыв требуемые методы DoChangeTracking и DoChange. В этом случае ваш код будет работать и с нативным представление TEdit для iOS так же. Если требуется внести только доп. действия для обработки данных. То вам не потребуется создавать свой компонент. Поскольку вы просто подмените модель TEdit своим классом в событии OnModelChoosing 2. Создание своего представления В этом случае вы должны создать свою представление на базе представления TEdit (TStyledEdit) или свое с нуля. В этом случае будут доступны все старые методы, которые были ранее.
  20. Стили бывают двух видов: Растровые - использую картинки для отображения Векторные - использую векторные объекты На первых скриншотах представлен вариант векторного стиля, составленного, как видно в том числе из векторного объекта TRectangle. На вашем же, у вас растровый стиль. Объект TButtonStyleObject берет регионы исходного изображения и сам их отрисовывает в нужные моменты времени. Списки регионов изображений для разных состояний кнопки: HotLink, FocusedLink, NormalLink, PressedLink Название исходного изображения (стиля, содержащего изображение) - SourceLink Полезное следствие для понимания, В векторном стиле вы можете менять параметры отрисовки через свойства (в виду природы векторной графики). В растровом стиле, вам нужно менять исходное изображение. Сейчас все базовые стили растровые. Полезные ссылки: [Android] Как поменять цвет выделенного итема в ListBox для андроид стиля? [Android] Можно ли изменить цвет TProgressBar?
  21. Первая часть (webView) - название сообщения. Остальное это параметры. На счет наименования, я не проверял. Но по-моему связь идет по типу параметров, а не по названию. Поэтому, если встречаются два сообщения Objective C с одинаковыми списками типов, но разными параметрами, то в Delphi нужно такие методы помечать атрибутами.
  22. Все ок. Я ни в коем случае не запрещаю публиковать ссылки на другие ресурсы. Главная цель - это дать решение. А где находится эта информация не так важно.
  23. Это значит, что картинка должна быть не более 4096 х 4096. Идея загружать всю картинку сразу будет фатальна для Андроида с ограниченной памятью и закончится OutOfMemoryException. Поэтому вам нужно идти путем подгрузки в рантайме только тех тайлов (частей карты), которые необходимый сейчас для демонстрации. И выгрузке тех тайлов, которые не отображаются и не нужны на экране. Аля простой вариант он-лайн карт.
  24. TBitmap от VCL не заменяет и не является частью TBitmap от FMX. Это принципиально разные объекты. Поэтому нужна конвертация. Например так: [Windows] Как подружить HBITMAP и TBitmap?
×
×
  • Создать...