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

Лидеры

  1. Brovin Yaroslav

    Brovin Yaroslav

    Администраторы


    • Баллы

      9

    • Постов

      2 124


  2. xenon54

    xenon54

    Пользователи


    • Баллы

      3

    • Постов

      385


  3. Andrey Efimov

    Andrey Efimov

    Модераторы


    • Баллы

      1

    • Постов

      851


  4. Kitty

    Kitty

    Пользователи


    • Баллы

      1

    • Постов

      792


Популярный контент

Показан контент с высокой репутацией 16.09.2015 в Сообщения

  1. XE8 без апдейтов. На какой строке AV? Provisioning profile должен включать APN. uses: System.PushNotification, FMX.PushNotification.iOS
    2 балла
  2. Андроид сервис не может работать с формами и UI. О чем указано в документации:
    2 балла
  3. Чтобы любой класс можно было найти по имени, этот класс нужно вначале предварительно зарегистрировать через функцию RegisterClass. При отключении опции "Link with runtime pakages", ваше приложение включает в себя код rtl пакета. Поэтому при запуске вашего приложения, встроенный в приложение rtl пакет создает свои экземпляры хранилищ классов. Когда вы загружаете вашу библиотеку, она уже использует другой экземпляр rtl библиотеки (которая лежит вместе со средой IDE). В итоге получается две копии в памяти одной библиотеке. Но ваш пакет регистрирует ваш класс в одном хранилище, а приложение ищем в другом. Поэтому вы не можете найти ваш класс. Решение такое, вы должны поставлять потребителю, отдельно RTL пакет, отдельно ваш пакет, и ваше приложение (которое использует динамическую линковку rtl пакета)
    2 балла
  4. var APS : TPushService; ASC : TPushServiceConnection; begin APS := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.APS); ASC := TPushServiceConnection.Create(APS); ASC.OnChange := DidAPNSChanged; ASC.OnReceiveNotification := form1.OnReciveAPN; ASC.Active := True; procedure TXAPNS.DidAPNSChanged(Sender: TObject; AChange: TPushService.TChanges); begin if TPushService.TChange.DeviceToken in AChange then begin FDevToken := APS.DeviceTokenValue[TPushService.TDeviceTokenNames.DeviceToken] ; Так у меня работает все на ура
    1 балл
  5. Ссылка: http://yaroslavbrovin.ru/tcalendar_with_highlight_days_based_on_default_tcalendar/ Автор: Ярослав Бровин В этой статье мы рассмотрим расширение функционала стандартного календаря TCalendar и добавим поддержку раскраски требуемых дней в календаре. Расширение будет продемонстрировано с использованием нового подхода разработки компонента в FireMonkey. В результате этой статьи вы получите готовый модуль, который будет достаточно добавить в ваш проект, чтобы использовать расширенную версию календаря с раскраской дней без необходимости создания отдельного компонента календаря.
    1 балл
  6. 1 балл
  7. Немного переработан внешний вид. Теперь можно просматривать темы и посты с поддержкой форматирования. Добавлен пункт меню просмотр последних тем.
    1 балл
  8. тут http://blog.blong.com/ почитай Вообще почитай про особенности приложений в андроид, он если это не сервис, не активное приложение может закрыть если ему покажется, что оно много отъедает например... Что касается приложений на XE .. это ему кажется всегда практически. Поэтому описываешь сервис на Java который тебе что то всегда делает и складывает аккуратно это в файлик , а твое активити работает уже с файлом,например. Можно было бы вызывать из сервиса функцию сразу делать изменения в активити без файла и вызывать функцию из делфи кода, тогда тебе нужно обязательно перед этим сартануть активити(там ньюансы есть)...
    1 балл
  9. Приложение не закрывается когда вы выходите на рабочий стол, оно продолжает висеть в памяти устройства, но уже с другим приоритетом. Хотел было написать на эту тему статью, но ... нагло процитирую слова из первой попавшейся книжки (эту информацию можно найти в справке "Processes and Application Life Cycle"):
    1 балл
  10. Большое спасибо! Буду разбираться -------------------------------------------- Все работает) Правда сервис в манифесте всё равно должен быть прописан, чтобы принимать сообщения с закрытым приложением
    1 балл
  11. Заголовок топика должен звучать так: "Как в вызываемом приложении получить доступ к объекту JIntent?" К сожалению, на этом форуме редактировать содержание поста можно, а вот его заголовок нет. Теперь ответ на вопрос. Доступ есть через SharedActivity.getIntent (надо подключить модули FMX.Helpers.Android и Androidapi.JNI.GraphicsContentViewText). Для возврата информации в вызывающее приложение использовал SharedActivity.setResult(TJActivity.JavaClass.RESULT_OK, SharedActivity.getIntent); SharedActivity.finish(); Для того чтоб в главном приложении получить результат, надо перед вызовом подписаться на сообщение (в XE6): Intent := TJIntent.Create; Intent.setClassName(StringToJString('com.MySoft.PluginOne'),StringToJString('com.embarcadero.firemonkey.FMXNativeActivity')); // наполняем данные для передачи в плагин intent.putExtra(StringToJString('dbl'),123.456); intent.putExtra(StringToJString('str'),StringToJString('qwerty')); // подписываемся на сообщение, колл-бек метод "HandleActivityMessage" FMessageSubscriptionID := TMessageManager.DefaultManager.SubscribeToMessage(TMessageResultNotification,HandleActivityMessage); // стартуем плагин SharedActivity.startActivityForResult(Intent,0); Получение результата в вызывающем приложении делается в колл-бек методе, я делал так: procedure TForm1.HandleActivityMessage(const Sender: TObject; const M: TMessage); var RequestCode, ResultCode: Integer; Intent: JIntent; d:double; s:string; begin if not(M is TMessageResultNotification) then exit; TMessageManager.DefaultManager.Unsubscribe(TMessageResultNotification, FMessageSubscriptionID); FMessageSubscriptionID := 0; RequestCode:=TMessageResultNotification(M).RequestCode; ResultCode:=TMessageResultNotification(M).ResultCode; Intent:=TMessageResultNotification(M).Value; if ResultCode = TJActivity.JavaClass.RESULT_OK then begin Memo1.Lines.Append('RESULT_OK'); if Assigned(Intent) then begin d:=Intent.getDoubleExtra(StringToJString('dbl'),111.111); s:=JStringToString(Intent.getStringExtra(StringToJString('str'))); Memo1.Lines.Append('d='+FloatToStr(d)); Memo1.Lines.Append('s='+s); end; end else if ResultCode = TJActivity.JavaClass.RESULT_CANCELED then begin Memo1.Lines.Append('RESULT_CANCELED'); end; end; Проверено в ХЕ6, идеи почерпнуты из следующих источников: http://vlad8.com/tech/android-intents-tutorial/ http://www.darkraha.com/rus/mobile/android/api/intent.php http://www.blong.com/Articles/DelphiXE6AndroidActivityResult/ActivityResult.htm в последней ссылке есть описание как решать эту проблему в ХЕ5, есть отличия.
    1 балл
  12. Kitty

    Как получить Thumbnail файла mp4?

    Спасибо, понятно. Я просто думала, что раз обыкновенный стандартный проводник в Windows показывает превью любого видео файлов (как на картинке), то и функция LoadThumbnailFromFile сумет вытащить такое превью.
    1 балл
  13. Добрый день, Собственно исключение оправдано. Вы пытаетесь в качестве картинки подсунуть видео. И считаете, что объект TBitmap почему-то должен работать с видео. Почему тогда туда не подсунуть аудио запись или файл экселя, полагая, что он выдаст скриншот файла и тд. Мысль я думаю понятна. Теперь к задаче: решить ее можно двумя путями: Простой. Храните вместе с видео обложку с видео. И когда нужно отобразить обложку просто загружать ее. Сложный. Поискать в интернете, как храниться обложка видео в видеофайле и написать код, который будет читать ее из файла.
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...