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

Brovin Yaroslav

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

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

  • Посещение

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

    390

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

  1. Я увы 17 не могу. Могу 24, 25 декабря. Время любое. 17, 18 декабря были уже давно забиты другом с ДР...
  2. Вот здесь есть транслированное апи: https://github.com/FMXExpress/ios-object-pascal-wrapper
  3. TNotificationCenter получить количество активных уведомлений?
  4. Полагаю, что при каждом запуске приложения: Удалять все текущие уведомления приложения. Поставить новое отложенное уведомление на сроком через 3 недели.
  5. Обычно ошибки со стеком из RTL появляются из-за сторонних библиотек. Вы устанавливали ли в среду дополнительные пакеты, эксперты, дизайнеры? Могут также возникать и из-за багов в FMX, но в этом случае, нужно привести сценарий, как ее воспроизвести. Плюс, если только у вас она воспроизводится, то я бы вначале проверил первое предположение со сторонними либами.
  6. Он серьезно. Он имел в виду кафе Чердак, рядом с авророй. Предлагаю еще определиться с днем. Это будет рабочий или выходной?
  7. Вы делаете систему плагинов. У вашего плагина есть ряд настроек. Все настройки в вашей системе находятся в одном месте. Вам нужно сделать так, чтобы любой плагин мог свои настройки показать в этом окне. Вопрос, как бы вы тогда сделали окно настроек, если вы не знаете, какие настройки там будут?
  8. Когда я заглядывал туда, там было не так, как вы написали. А при условии, что можно свои мастера писать и страницы с настройками. То понятно, что там ничего не зашито Если бы был бы код сейчас под рукой, я бы вам расшифровал. Но обычно, для таких сложных настроек используют фреймы + механизмы для регистрации своих страничек настроек.
  9. В стиле для андроида может быть указано, чтобы картинку не растягивать. А под Windows, наоборот. Посмотрите на свойство Stretch и WrapMode
  10. Асинхронный. Он в какой-то степени сложнее. Но зато не будет проблем в будущем. Например, на андроиде в принципе нету возможности обрабатывать сообщения из очереди, как это все привыкли делать в WIndows, ProcessMessage. Этот код приватный и закрытый. Для определения реакции пользователя. Лучше сделать класс, который будет являться надстройкой над обычными событиями компонентов. Например, вы хотите дождаться 5 нажатий на кнопку от пользователя. Вы определяете свой класс с набором обработчиков событий. Типа ButtonClickHandler и другие, если нужны. В нем просто считаете количество нажатий. И при достижении условия (счетчик нажатий равен пяти), генерируете своё событие: OnClicked5Times. Достоинства такого подхода: вы выносите логику из кода формы. Сможете использовать ваш класс в других местах. Получится асинхронный вариант, не использующий ProcessMessage. Тут ещё хорошо подходит шаблон конечного автомата.
  11. RAD Studio, C++Builder and Delphi 10.1 Berlin Update 2 Anniversary Edition helps you to Code Faster and Reach Further. You still write your code once, but now you code faster and reach every store: Android, iOS, macOS and Windows 10. Not only does update 2 include many bug fixes, but it also includes new features, all in a non-breaking release. [YoutubeButton url='https://www.youtube.com/watch?v=J3HndPIZLII'] Reach a wider audience with your software! New in Berlin Update 2 Anniversary Edition is support for building Appx packages for distribution in the Windows 10 Store. Windows Desktop Bridge Deployment Support allows you to package new and existing desktop applications ready for the Windows 10 Store directly from your IDE using Microsoft's Desktop Bridge. Target hundreds of millions of Windows 10 devices with your existing VCL or FMX code base. Same code, new customers! With Microsoft Windows Store now alongside macOS, Android and iOS store support, you can now reach billions of users from a single cross-platform app codebase! [YoutubeButton url='https://www.youtube.com/watch?v=g7OsW1dy5mw&list=PLwUPJvR9mZHjHazV4JYGluheXdPSuT19R&index=4'] Increase developer productivity QuickEdits – Increase your productivity in the VCL designer with the ability to rapidly modify the name, caption, alignment, layout and color of a control, copy the component name, quickly layout a form from a template, connect images and image lists, and bind the control to a data source or data field. 10.1 Berlin Update 2 benefits from the many new productivity features added in recent releases, including large project support, code block highlighting and the market leading FireUI offering live preview of prototypes on different devices as you design. [YoutubeButton url='https://www.youtube.com/watch?v=uSesSuckqeg&list=PLwUPJvR9mZHjHazV4JYGluheXdPSuT19R&index=5'] Modern Windows 10 User Experience New VCL Controls in Update 2 – Improve application usability with two calendar components for Windows 10 that mimic WinRT UI controls while providing support for older versions of Windows. New Windows 10 Styles – Modernize your application’s look-and-feel with three new Windows 10 styles added for FireMonkey and VCL in Update 2 [YoutubeButton url='https://www.youtube.com/watch?v=sxsRqTJcmKo&list=PLwUPJvR9mZHjHazV4JYGluheXdPSuT19R&index=3'] 10.1 Berlin continues to be the fastest way to take full advantage of Windows 10. Support includes native WinRT/UWP components and APIs, Windows 10 VCL User Experience controls, and updated Windows 10 VCL and FMX support. [YoutubeButton url='https://www.youtube.com/watch?v=erZGyOh2Ric&list=PLwUPJvR9mZHjHazV4JYGluheXdPSuT19R&index=2'] Просмотр полной статьи
  12. Увы, но использовать ProcessMessage дурной тон... Именно он и даёт зависание главного треда.
  13. Я бы пошел третьим способом. Если, какая-то экскурсия очень важна. Зашил бы ее в апк.
  14. Я вижу пока только два решения: Засунуть сразу в апк Сделать скачивание через инет. Можно еще предложить в самом предложении скачать пакет с аудио. Поскольку экскурсий может быть очень много, то файлов может быть так же очень много. Плюс не каждому нужны файлы ко всем экскурсиям. Поэтому я бы предложил скачиваем пустое приложение. А в нем предлагаем пользователю скачать те пакеты экскурсий, которые его интересуют. При наличии хорошего интернета.
  15. На iOS другая архитектура, нет такого разделения на два потока. И самое главное есть метод для обработки сообщений из очереди.
  16. Добрый день, На андроиде в принципе не поддерживаются синхронные диалоги. И причина прежде всего в архитектуре андроид приложения. Если говорить о нативном приложении, то оно состоит из двух потоков Java UI Thread (Он же главный поток приложения) и Delphi Thread. FireMonkey работает в делфи треде. В то время, как все нативные вещи (диалоги, пикеры, браузеры, карты, медиа проигрыватели и тд) все они работают в Java UI Thread. Помимо этого, когда активити (работает в так же в java UI thread) меняет своё состояние (запущена, приостановлена, остановлена, возобновлена и тд), она должна синхронизировать это состояние в делфи треде. Или другими словами передать эту информацию в делфи тред. Для передачи используются пайпы с событиями. Поэтому пока делфи тред не прочитает новое состояние активити, Java UI thread будет находится в режиме ожидания. Чтение в делфи потока нового состояния происходит в цикле ProcessMessage. Теперь возвращаясь к диалогам. Диалоги нативные, поэтому они должны быть синхронизированы (с ожиданием) с java UI thread. С другой стороны, в момент отображения диалога происходит событие из java ui thread Window Gained Focus, возникающее, когда в приложении меняется фокус между окнами (диалоговое окно в данном случае перехватывает фокус). Но как мы выяснили, это приводит к обратной синхронизации с делфи тредом. Отсюда возникает классический deadlock. P.S. Это верно до версии Берлин включительно.
  17. http://docwiki.embarcadero.com/RADStudio/Seattle/en/Mobile_Tutorial:_Using_the_Phone_Dialer_on_Mobile_Devices_(iOS_and_Android)
  18. оу оу оу, придержи коней, а то так скоро все темы напишешь и остальным не чего будет писать :-)))
  19. Brovin Yaroslav

    [ListBox] TAction

    LThread может и не запуститься на андроиде и удалиться до старта, после выхода из метода.
×
×
  • Создать...