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

Лидеры

  1. Brovin Yaroslav

    Brovin Yaroslav

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


    • Баллы

      4

    • Постов

      2 124


  2. estra

    estra

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


    • Баллы

      3

    • Постов

      371


  3. Andrey Efimov

    Andrey Efimov

    Модераторы


    • Баллы

      2

    • Постов

      842


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

Показан контент с высокой репутацией 03.09.2014 во всех областях

  1. Судя по разделу речь идет не о мобильных платформах. Тогда определить путь к исполняемому файлу приложения можно так: ParamStr( 0 ); Если обратиться к справке, там написано: Returns a specified parameter from the command line. ParamStr returns the parameter from the command line that corresponds to Index, or an empty string if Index is greater than ParamCount. For example, an Index value of 2 returns the second command-line parameter. Note: ParamStr(0) returns the path and file name of the executing program (for example, C:\TEST\MYPROG.EXE). Другими словами - параметром для функции ParamStr является индекс параметра командной строки. Нулевой индекс всегда возвращает полный путь к файлу. Если вы запустили исполняемый файл с параметром (например: c:\app.exe param), то: ParamStr(0) = 'c:\app.exe' ParamStr(1) = 'param' Узнать количество параметров командной строки можно с помощью функции ParamCount.
    3 балла
  2. В XE7 появилась функция задания заставки приложения для андроид устройств. Если раньше пользователям приходилось создавать свои решения этой задачи (Как создать заставку для андроид приложения?), то теперь заставку можно легко указать в настройках проекта:
    2 балла
  3. Вообще не рассчитывайте так на фоновую работу приложения без Сервиса. Андроид может завершить ваше приложение в любой момент, система сама решает можно ли оставить приложение в фоне или лучше освободить оперативу. По вашему вопросу: Первое что приходит в голову – это отлавливать события, которые происходят при работе с приложением. В блоге, я дал вам ссылку на статью Жизненный цикл мобильного приложения. Ярослав уже привёл пример такой ловли событий.
    2 балла
  4. В XE6 появился специальный сервис для контролирования смены состояния приложения IFMXApplicationEventService. Он позволяет задать свой обработчик на событие смены состояния. Всего поддерживаются следующие типы состояний TApplicationEvent: FinishedLaunching - приложение запущено BecameActive - приложение стало активным, после того, как до этого было свернутым. WillBecomeInactive - приложение будет активировано EnteredBackground - приложение свернулось WillBecomeForeground - приложение будет свернуто WillTerminate - приложение будет завершено LowMemory - Нехватка памяти OpenURL - открытие приложение по ссылке. 1 Способ. Запрос сервиса IFMXApplicationEventService Соответственно, чтобы узнать о смене состояния нужно: Запросить сервис: uses FMX.Platform; var ApplicationService: IFMXApplicationEventService; begin TPlatformServices.Current.SupportsPlatformService(IFMXApplicationEventService, ApplicationService); Создать свой обработчик и задать его при помощи полученного сервиса: function TForm1.ApplicationEventChanged(AAppEvent: TApplicationEvent; AContext: TObject): Boolean; begin // Здесь получаем новое состояние приложения end; var ApplicationService: IFMXApplicationEventService; begin TPlatformServices.Current.SupportsPlatformService(IFMXApplicationEventService, ApplicationService); if ApplicationService <> nil then ApplicationService.SetApplicationEventHandler(ApplicationEventChanged); end; 2 Способ. Подписка на получение сообщения: Вместе со сменой состояния платформа FMX осуществляет широковещательную рассылку сообщения о смене состояния: TApplicationEventMessage Второй способ заключается в подписке на это сообщение: Подписываемся на получение сообщения TApplicationEventMessage: uses System.Messaging; // Подписка TMessageManager.DefaultManager.SubscribeToMessage(TApplicationEventMessage, DoApplicationEventChanged); Получаем сообщения procedure DoApplicationEventChanged(const Sender: TObject; const Message: TMessage); begin end; Не забываем отписаться от сообщений, когда это больше уже не нужно: // Отписка TMessageManager.DefaultManager.Unsubscribe(TApplicationEventMessage, DoApplicationEventChanged);
    2 балла
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...