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

Andrey Efimov

Модераторы
  • Постов

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

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

    123

Активность репутации

  1. Like
    Andrey Efimov получил реакцию от DMS в [Android] Не показывается TAniIndicator   
    Обратите внимание на секцию "try finally end". Вы сами отключаете индикатор.
  2. Like
    Andrey Efimov получил реакцию от Равиль Зарипов (ZuBy) в Как загрузить картинку в TRectangle по прямой ссылке?   
    Если дело в скачивании, то вынести загрузку картинок в отдельный поток. В Берлине у компонента NetHTTPClient есть свойство Asynchronous (Using an HTTP Client - Making Requests Asynchronous) для того чтобы форма/приложение не подвисало пока что-то загружается из инета.
  3. Like
    Andrey Efimov получил реакцию от M1shQa в [Статья][Android] Автозапуск службы после рестарта ОС   
    В Java файле всё правильно прописали?
    Можно, но тогда нужно добавить jar-файл.
    В вашем случае - нет.
    На Токио не проверялось. Статья написана для Seattle, но 100% работает на Berlin (только вчера реализовывал данную функцию в новом приложении), а вот Токио пока в топку.
  4. Like
    Andrey Efimov получил реакцию от Rusland в [Статья][Android] Автозапуск службы после рестарта ОС   
    В Java файле всё правильно прописали?
    Можно, но тогда нужно добавить jar-файл.
    В вашем случае - нет.
    На Токио не проверялось. Статья написана для Seattle, но 100% работает на Berlin (только вчера реализовывал данную функцию в новом приложении), а вот Токио пока в топку.
  5. Like
    Andrey Efimov получил реакцию от Anatoliy в [Статья][Android] Автозапуск службы после рестарта ОС   
    Ссылка: http://delphifmandroid.blogspot.ru/2016/01/ansroidservicebroadcastreceiver.html
    Автор: Ефимов Андрей
    Описание: [AndroidService+BroadcastReceiver] Автозапуск службы после рестарта ОС
     
    p.s. Тему почистил
  6. Like
    Andrey Efimov отреагировална kami в Удаление сложных классов, Android   
    Как вы считаете, удалять объект из самого этого объекта - это нормально?
  7. Like
    Andrey Efimov получил реакцию от Brovin Yaroslav в Удаление сложных классов, Android   
    Как правильно удалять контролы в RunTime?
    Automatic Reference Counting in Delphi Mobile Compilers
  8. Like
    Andrey Efimov получил реакцию от HyperZen в Tokyo, артефакты при отрисовке на канве, Android   
    Рекомендую вернуться на Berlin Upd2.
    Tokyo вышла очень бажная, особенно в плане мобильной разработки. Юзать текущую версию себе дороже выйдет. Нужно дождаться как минимум Upd1, но я думаю лучше сразу Upd2 ждать.
  9. Like
    Andrey Efimov получил реакцию от Anatoliy в [Андроид] кнопка с эффектом   
    Можно просто сделать текст "Новости" жирным и кнопка будет выделяться из кучи других. Или добавить какой-нибудь лёгкий эффект подсветки к тексту.
     
    p.s. Например, меня очень раздражают откровенно навязчивые элементы, типа анимации(дёргания и т.п.) или мигания... бррр...
  10. Like
    Andrey Efimov получил реакцию от Rusland в Embarcadero Delphi - где искать apk после компиляции проекта?   
    Опять же, пользуйтесь поиском!
    Ответ тут: Можно ли собрать APK без смартфона ?
     
    Справка:
    Deploying Your Unsigned Android Application Deploying Your Signed Android Application
  11. Like
    Andrey Efimov получил реакцию от Равиль Зарипов (ZuBy) в Отправка PUSH сообщений через IdHTTP.Post   
    Уже давно замечены проблемы Indy с SSL на Android, вроде как, даже сама Idera рекомендовала (пруф не дам, т.к. не помню где видел это) использовать новые TNetHTTPClient и TNetHTTPRequest.
    Попробуйте использовать эти компоненты, с SSL работать умеют и асинхронные запросы умеют (т.е. не придётся создавать отдельный поток, достаточно изменить свойство компонента), и ещё куча всего.
    Основная справка с примерами тут: Using an HTTP Client
  12. Like
    Andrey Efimov получил реакцию от Равиль Зарипов (ZuBy) в Embarcadero Delphi - где искать apk после компиляции проекта?   
    Опять же, пользуйтесь поиском!
    Ответ тут: Можно ли собрать APK без смартфона ?
     
    Справка:
    Deploying Your Unsigned Android Application Deploying Your Signed Android Application
  13. Like
    Andrey Efimov получил реакцию от Равиль Зарипов (ZuBy) в Tokyo, артефакты при отрисовке на канве, Android   
    Рекомендую вернуться на Berlin Upd2.
    Tokyo вышла очень бажная, особенно в плане мобильной разработки. Юзать текущую версию себе дороже выйдет. Нужно дождаться как минимум Upd1, но я думаю лучше сразу Upd2 ждать.
  14. Like
    Andrey Efimov получил реакцию от Alex7wrt в Tokyo, артефакты при отрисовке на канве, Android   
    Рекомендую вернуться на Berlin Upd2.
    Tokyo вышла очень бажная, особенно в плане мобильной разработки. Юзать текущую версию себе дороже выйдет. Нужно дождаться как минимум Upd1, но я думаю лучше сразу Upd2 ждать.
  15. Like
    Andrey Efimov получил реакцию от marsden в Надолго зависает код при загрузке из интернета   
    Например, можно использовать TNetHTTPClient и свойство Asynchronous.
  16. Like
    Andrey Efimov отреагировална kami в Удаление Item'ов из ListBox c помощью цикла while   
    Для создаваемых в runtime элементов не используйте свойство name, это действительно чревато вам дубликатами. Оставляйте name пустым.
    Ориентируйтесь на что угодно другое, хоть различные вариации свойства tag[Object, string]
  17. Like
    Andrey Efimov отреагировална Fedor K в Удаление Item'ов из ListBox c помощью цикла while   
    Из приведенного выше кода ничего вручную удалять не нужно, кроме самого TListBoxItem, как и выполняется в примере выше (listbox1.Items.Delete(indexclick) или Form1.listbox1.Items.Delete(0)) . Все создаваемые дополнительные контролы (TGridPanelLayout, TRectangle, TText) создаются здесь с AOwner = TListBoxItem + задается Parent, который мы и удаляем, а при удалении родительского все дочерние удаляются вместе с ним. Можете убедиться в этом проверив утечку памяти: 
    ReportMemoryLeaksOnShutdown := True; Sashar333 не используйте никогда .Name в качестве хранилища или идентификатора, это плохая практика. Для этих целей отлично подходят тэги (TagString или TagFloat), которые имеют все TFmxObject.
     
  18. Like
    Andrey Efimov отреагировална Евгений Корепов в TPushClient - нашёл чудесную вещь   
    Наткнулся тут на изящную штуку для приложения с PUSH уведомлениями на Android и Ios. Один объект, все сам делает.
    Внедрил в одно боевое приложение с 100+ тысячами установок, полет нормальный.
    Описание тут https://delphiworlds.com/2017/04/firebase-cloud-messaging-android-ios/
    Исходный код с примером на гитхабе https://github.com/DelphiWorlds/PushClient
    Использование максимально простое:
    uses DW.PushClient; .... private FPushClient: TPushClient; procedure PushClientChangeHandler(Sender: TObject; AChange: TPushService.TChanges); procedure PushClientReceiveNotificationHandler(Sender: TObject; const ANotification: TPushServiceNotification); .... procedure TFormMain.InitPushService; begin FPushClient := TPushClient.Create; FPushClient.GCMAppID := ConstGCMAppID; FPushClient.ServerKey := ''; FPushClient.BundleID := ''; FPushClient.UseSandbox := Debug; // Change this to False for production use! FPushClient.OnChange := PushClientChangeHandler; FPushClient.OnReceiveNotification := PushClientReceiveNotificationHandler; try FPushClient.Active := True; except SendError('FPushClient.Active Exception'); end; end; procedure TFormMain.PushClientChangeHandler(Sender: TObject; AChange: TPushService.TChanges); begin if TPushService.TChange.DeviceToken in AChange then begin HDevicePushParams.DeviceID:=FPushClient.DeviceID; HDevicePushParams.DeviceToken:=FPushClient.DeviceToken; GetHTTP(CommandRegisterFCM); // Memo1.Lines.Add('DeviceID = ' + FPushClient.DeviceID); // Memo1.Lines.Add('DeviceToken = ' + FPushClient.DeviceToken); end; end; procedure TFormMain.PushClientReceiveNotificationHandler(Sender: TObject; const ANotification: TPushServiceNotification); begin // ShowMessage(ANotification.DataObject.ToString... end; Правда руки не дошли разобраться для чего ему 
      FPushClient.ServerKey := '';
      FPushClient.BundleID := '';
    Но и без этого работает.
     
  19. Like
    Andrey Efimov отреагировална kami в June FSM (FMX SPb Meeting)   
    небольшой фотоотчет. Будет время - напишу еще и результаты блиц-интервью участников.
    Начало встречи.

    потом было вот это

    ну и эпилог:

    на последнем фото, слева направо (без учета z-order): @kami @Error @Nik @Brovin Yaroslav
  20. Like
    Andrey Efimov отреагировална kami в June FSM (FMX SPb Meeting)   
    Так, погода на завтра благоприятствует. Начиная с 12:00 вероятность дождя снижается и к началу встречи всё должно стать хорошо.
    Ввиду того, что предложение wamaco не встретило отклика у участников встречи - место и время встречи остаются теми же:
    500 метров от метро Александра Невского, пивной ресторан Bier König
    Дата: 10.06.2017. Время (уже окончательно) 17:30.
  21. Like
    Andrey Efimov получил реакцию от Евгений Корепов в Ошибка "Bitmap size too big"   
    Тормозит IDE:
     
  22. Like
    Andrey Efimov получил реакцию от Brovin Yaroslav в Ошибка "Bitmap size too big"   
    Тормозит IDE:
     
  23. Like
    Andrey Efimov получил реакцию от Равиль Зарипов (ZuBy) в Ошибка "Bitmap size too big"   
    Тормозит IDE:
     
  24. Like
    Andrey Efimov получил реакцию от Erlan_krg в Странный Splash   
    Вот так подготовили Как добавить "резиновый" SplashScreen в XE7 ?
     
    p.s. Старайтесь прикладывать проекты к темам, так будет проще вам помочь.
  25. Like
    Andrey Efimov отреагировална Евгений Корепов в TIdTCPClient.Host Как использовать имя компьютера в сети без домена   
    Название топика содержит ответ на ваш вопрос - TIdTCPClient, ключевое слово "TCP". Этот протокол адресует устройства (или интерфейсы) исключительно по IP адресу(IPv4 или IPv6). 
    Компонент TIdTCPClient работает следующим образом - если TIdTCPClient.Host содержит IP адрес, все нормально, отправляем туда пакет, но если в TIdTCPClient.Host строка, то ресолвим ее в IP адрес и после этого отправляем пакет на полученный адрес.
    Разрешение (ресолвинг) DNS имен происходит по примерно такой цепочке : 
    Если это localhost, то система без вопросов возвращает 127.0.0.1 Операционка смотрит свои локальные настройки (windows C:\Windows\System32\drivers\etc\hosts, unix /etc/hosts) Проверяется локальный кэш dns записей Делается запрос на DNS сервер Так же могут применяться экзотические или устаревшие методы, к примеру Windows NetBIOS Name Server (WINS server).
    И попробуйте перефразировать свой вопрос, уточните конкретную задачу, так будет проще понять что вам нужно.
×
×
  • Создать...