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

x11

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

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

  • Посещение

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

    13

Весь контент x11

  1. А сетка умеет работать с базой и с дозагрузкой? Или всё самому ручками?
  2. Бесплатная сетка для некомерческого использования. Я так понял, что без исходников. For Embarcadero RAD Studio 2009 and up to Tokyo 10.2 update 2, Delphi and C++, VCL and Firemonkey frameworks (all platforms: Windows 32 and 64 bit, Mac OSX, Android and iOS), and Lazarus FreePascal (Windows, Linux, etc) https://github.com/Steema/TeeGrid
  3. Я ошибался. Если вываливается исключение и приложение падает, то потом всё равно при запуске виснет
  4. А что толку, что Вы внесёте мой локальный IP? Допустим, программа будет работать только внутри локальной сети офиса.
  5. У меня такая же проблема была, когда я виндовую папку хотел примонтировать в Линуксе. Получалось только по IP. Но сами виндовые компы друг друга отображают в сетевом окружении по имени.
  6. Есть ПК на базе Windows или хост в интернете. Нужно узнать его IP. Это может быть, как локальная сеть, так и интернет. Когда вводишь имя (host), то получается, что такое имя приложение не находит: failed to locate host machine. Но если я ввожу IP адрес, то проблем нет. Android-приложение подключается к базе Firebird. Firebird SQL Server установлен на ПК под управлением Windows. Android-приложение использует DevArt UniDAC и это всё работает через Firebird библиотеку (libfbclient.so). В windows-приложении можно вводить без проблем хоть имя, хоть IP.
  7. А у меня не висел этот значок. Может, это в настройках где-то отключается.
  8. Вот так, как сделано у Аваста - не бесит.
  9. Часы - это уведомления? Значок антивируса - это уведомление? Ещё бывает так. Я видел у Аваста и это мне показалось даже правильней. В самой области нет значка, но как только опускаешь шторку, то видно, что антивирус запущен. Вот как бы сделать так, чтобы значок приложения был только в опущенной шторке?
  10. Как вывести уведомление единоразово с помощью TNotificationCenter я знаю. Но это не то.
  11. Не знаю, как правильно оно называется: system bar или notification bar? То, что вверху экрана, где часы и системные значки (иконки). В общем, в Delphi VCL есть TTrayIcon для Windows. А что можно реализовать в этом плане для Android? Как повесить свой значок, чтобы он был виден и в шторке, когда верхнюю панель тянешь вниз, чтобы и на tap была реакция. Спасибо.
  12. Неплохая тема. Всю пока не читал. Но вот что интересует. Планируется ли реализовать компоненту и для Андроид? Чтобы значок висел и в области уведомлений, и в шторке Андроид. Само собой, с поддержкой Берлин + Токио. Спасибо.
  13. Наверное, я сам виноват в проблемах с перезапуском host-приложения. Доигрался... Пытался добавить в проект службы доп. файлы и получилось так, что в dpr-проект host-приложения добавил в USES несколько файлов из проекта службы. Получилась путаница. Удалил некорректные ссылки в USES host-приложения. Пока полёт перезапуск нормальный.
  14. x11

    Toast для Android Service

    Это не вопрос. Просто подумал, что кому-нибудь может пригодится. https://forums.embarcadero.com/thread.jspa?threadID=118465 Используем 2 файла: Androidapi.JNI.ToastForService.pas + FlyUtils.Android.PostRunnableAndTimer.pas. Пример вызова: Androidapi.JNI.ToastForService.PostToast('текст сообщения', LongToast); Проверил - работает. Есть ещё третий параметр "UseLastToastObj", но я так и не понял, для чего он. Документации нет.
  15. Когда я, в самом начале изучения, смотрел примеры и видео по службе с host-приложением, которые реализованы в FMX, то там было видно, что при закрытии приложения, оно автоматически не стартует, а просто служба сама продолжает работу. Т.е. приложение можно запускать и завершать отдельно, при этом служба продолжает работу. А тут получается так, что при аварийном или принудительном завершении host-приложения Андроид автоматически запускает это host-приложение.
  16. Спасибо. Работает. Но это спасает, только если приложение штатно закрываешь. Бывает, что в приложении случается исключение и оно тихонько само закрывается и даже не выдает никаких ошибок. В этом случае как быть? Т.е. нужно как-то решать проблему на старте. Это очень неудобно, когда приложение безо всяких сообщений закрывается.
  17. В файлах стилей действительно 2 раза встречается.
  18. Код применения стиля: procedure TfmOptions.ChangeStyles; var aTos: String; aStyle: TFMXObject; const ToStr: Array[TOSVersion.TPlatform] of string = ('Windows', 'MacOS', 'iOS', 'Android', 'WinRT', 'Linux'); begin aStyle := nil; lbActiveStyle.Text := 'применение стиля...'; Application.ProcessMessages; //если выбираем из ресурсов if comboStyles.ItemIndex > 0 then begin aTos := ToStr[TOSVersion.Platform] + comboStyles.Selected.Text; aStyle := TStyleStreaming.LoadFromResource(HInstance, aTos, RT_RCDATA); aStyle.StyleName := comboStyles.Selected.Text; if not assigned(aStyle) then begin ShowMessage('Стиль не найден: ' + aTos); lbActiveStyle.Text := 'Стиль не найден: ' + aTos; exit; end; end;// if comboStyles.ItemIndex > 0 then TStyleManager.SetStyle(aStyle); lbActiveStyle.Text := 'Готово. ' + TStyleManager.ActiveStyle(self).StyleName; end; получаю ошибку: на строке aStyle := TStyleStreaming.LoadFromResource(HInstance, aTos, RT_RCDATA); Исключение вываливается 2 раза. И только на Андроиде. На Windows такой ошибки не и стили загружаются нормально. На Андроиде хоть и ошибка, но стили применяются. Стили хранятся в ресурсах, как вы поняли. Раньше такой ошибки не было.
  19. Может кому пригодится. 1. В приложении по умолчанию главной формой, т.е. формой, которая автоматически создается при старте, является форма логина. Т.е. именно она появляется первой. 2. В форме логина уже во время исполнения программы, подменяем форму логина на ту, которая должна теперь считаться главной. procedure SetAsMainForm(aForm:TForm); var P: Pointer; begin P := @Application.Mainform; Pointer(P^) := aForm; end; когда проверили логин/пароль и убедились, что пользователь авторизован, создаём форму и делаем её главной, а форму логина закрываем: procedure TfmLogin.btnOkClick(Sender: TObject); begin if edPass.Text = qUserspassword.AsString then begin UserData.ID := qUsersid.AsInteger; UserData.Name := qUsersname.AsString; UserData.Group := qUsersid_group.AsInteger; fmMain := TfmMain.Create(Application); fmMain.Show; SetAsMainForm(fmMain); close; end else begin lbInfo.Text := 'Ошибка. Пароль неверный.'; end; end;
  20. здесь еще есть: ANDROID_ID - identifierForVendor https://community.embarcadero.com/blogs/entry/android-id-identifierforvendor https://community.embarcadero.com/answers/device-information
  21. Приложение + служба. В службе установлен флаг перезапуска в StrartCommand^ result := TJService.JavaClass.START_STICKY; // rerun service if host app stops Проблема вот в чем. На экране главная форма хост-приложения. На смартфоне внизу нажимаю кнопку Назад. Приложение закрывается. Вижу в LogCat Андроида, что аварийно завершается служба. Андроид восстанавливает работу службы и запускает и службу и само приложение. Хотя Андроид не должен перезапускать host-приложение, а только службу. Т.е. вижу, что поле выхода приложение со службой работают. Когда с рабочего стала ланчера запсукаю host-приложение, то оно виснет при старте и даже событие OnCreate главной формы не срабатывает. Показывается стартовое окно (splash) и висит, пока Андроид не предложит закрыть или подождать. И так несколько раз приходится делать, пока приложение не запустится. Я в OnClose главной формы разные параметры прописывал для action, но толку нет. Хоть какой-нибудь костыль посоветуйте, пожалуйста. А когда нажимаю кнопку Домой на смартфоне, то приложение сворачивается и тогда запсу с рабочего стола ланчера происходит нормально, т.е. приложение просто всплывает. Может можно как-то при закрытии приложения не закрывать его, а сворачивать? Если я не запускаю службу, то приложение закрывается и потом запускается нормально с рабочего стола ланчера. Заранее благодарен.
  22. я не знаю, я просто воспользовался поиском, лучше тебе там спросить
  23. вроде уже ты не первый http://fire-monkey.ru/topic/34-как-сделать-перемещение-контрола-мышкойпальцем/
×
×
  • Создать...