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

Лидеры

  1. Равиль Зарипов (ZuBy)

    Равиль Зарипов (ZuBy)

    Модераторы


    • Баллы

      6

    • Постов

      2 517


  2. Сергей Сергеев

    Сергей Сергеев

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


    • Баллы

      3

    • Постов

      144


  3. Fedor K

    Fedor K

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


    • Баллы

      2

    • Постов

      55


  4. Andrey Efimov

    Andrey Efimov

    Модераторы


    • Баллы

      1

    • Постов

      842


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

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

  1. есть такой путь.. я его описал чуть выше : Придется по новой заполнять всю начальную инфу на сервере ( например там есть список файлов клиента), который получается сканированием определенных директорий, при каждом коннекте , раньше я с клиента просто говорил - дай файл №5 .. в сессии по MemTable искал№5 - брал его путь и отсылал клиенту.. понятно, что все решаемо.. всякими бубнами.. но весь этот стройный и удобный механизм ДатаСнап летит.. используется только для начального заполнения.. к чему эти все циклы статей и видео - как прекрасно на дельфи используя датаснап делать приложения для Анроида, если клиент прибивается, только ты решил отправить СМС? и сесииян на сервере захлопнулась.. со всеми вытекающими..
    2 балла
  2. отвяжите TPopupMenu от TListBox procedure TForm4.ListBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single); var aItem: TListBoxItem; begin if Button = TMouseButton.mbRight then begin aItem := ListBox1.ItemByPoint(X, Y); if aItem = nil then exit; ListBox1.ItemIndex := aItem.Index; PopupMenu1.Popup(Screen.MousePos.X, Screen.MousePos.Y); end; end;
    2 балла
  3. такой возможности нет, по вы можете дописать r1.Margin.Bottom := <сложные арифметические действия>;
    1 балл
  4. Сергей Сергеев

    Проблема в Android 6.0

    Ура! Проблема решилась.. т.е. стало работать не рестартуя после свертывания и т.д. все дело в "галочке" Это я поставил эту отметку в новом телефоне, после включения режима разработчика.. очень мне не понравились слова про сохранения моих действий и все "простые" приложения, не сохраняющие свое состояние , после рестарта оказывались в начальном положении. Отключил.. и все стало работать, приложение живет, благо памяти хватает, на сеанс просмотра инфы - 10-15 мин явно хватит и при запуске вьеверов и мейла.. ну уж если вытеснит его из памяти, значит пользователь чем то таким уж занялся посторонним, что после этого и перелогиниться, думаю, его не удивит..
    1 балл
  5. это сработает на обе кнопки
    1 балл
  6. Да спасибо! Если в событие OnItemClick, то там достаточно этого ListBox1->ItemIndex = Item->Index; PopupMenu1->Popup(Screen->MousePos().X, Screen->MousePos().Y);
    1 балл
  7. такая архитектура подходит для Windows/Mac, для мобильных это не вариант. также как и использовать прямой коннект к ДБ, все это летит к чертям при переключении станции связи (2G/3G/4G), Wi-Fi единственно живой и верный вариант использовать запрос-ответ (трех звенку)
    1 балл
  8. Ярослав как-то упоминал BindService, но до сих пор тема сисек не раскрыта никакой конкретики. Может как-то через TLocalServiceConnection.LocalService можно получить доступ к данным в сервисе?
    1 балл
  9. Fedor K

    Работа с намерениями в iOS

    1. TMS iCL 2. DPF- смотрите в сторону TDPFQLPreviewController 3. Ручками, что-то вроде такого (документация apple): var controller : UIDocumentInteractionController; URL: NSURL; {$ENDIF} path : string; temp : Boolean; begin path := ExtractFilePath(ParamStr(0)) + '/Sample.pdf'; {$IFDEF IOS} URL := TNSUrl.Wrap(TNSUrl.OCClass.fileURLWithPath(StrToNSStr(path))); controller := TUIDocumentInteractionController.Wrap( TUIDocumentInteractionController.OCClass.interactionControllerWithURL(URL)); TNSUrl.Wrap(TNSUrl.OCClass.fileURLWithPath(StrToNSStr(path))); temp := controller.presentOpenInMenuFromRect( WindowHandleToPlatform(self.Handle).View.frame, WindowHandleToPlatform(self.Handle).View,true); {$ENDIF} end;
    1 балл
  10. Вот с какой стати модуль будет доступен, если приложение и сервис — это разные проекты.
    1 балл
  11. Fedor K

    Работа с намерениями в iOS

    Один из вариантов открытия одного приложения из другого - это использование URL schemes (Ярослав давал выше ссылку). Из приложение А: //отправка uses Macapi.Helpers, FMX.Helpers.iOS; //делаем намерение открыть URL (по сути тоже самое Intent в Android) SharedApplication.openURL(StrToNSUrl(Url)); Приложение Б (подробнее, хотя немного устарело): //подписываемся на события if TPlatformServices.Current.SupportsPlatformService(IFMXApplicationEventService, IInterface(aFMXApplicationEventService)) then aFMXApplicationEventService.SetApplicationEventHandler(HandleAppEvent); //обработчик function HandleAppEvent(AAppEvent: TApplicationEvent; AContext: TObject): Boolean; var lURL : string; begin case AAppEvent of TApplicationEvent.OpenURL : begin lURL := (AContext as TiOSOpenApplicationContext).URL; //реализуем логику end; Как передать файлы я вижу несколько вариантов: - использовать буфер обмена (класс UIPasteboard - думаю не сложно его использовать в FMX, я им пользовался только в Xamarin, на FMX возможно (нужно проверить) можно использовать FMX.Platform.IFMXClipboardService). Перед открытием URL в "А" - сохраняем картинку/файл в буфер обмена, в "Б" при открытии считываем. - передавать в URL путь к файлу (это возможно только, если и "А" и "Б" являются приложением одной группы). пример с Object-C.
    1 балл
  12. #include <Androidapi.JNI.JavaTypes.hpp> #include <Androidapi.Helpers.hpp> #include <Androidapi.JNI.Embarcadero.hpp> #include <Androidapi.JNI.GraphicsContentViewText.hpp> for Rad Studio 10
    1 балл
  13. Обновленная версия Более реалистичные диалоги для андроид 5.0 и выше MyDialogs_ZuBy.zip
    1 балл
  14. Узнать, работает Служба или Приложение, можно попробовать, через методы getRunningAppProcesses getRunningServices ActivityManager - getSystemService(ACTIVITY_SERVICE);
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...