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

ENERGY

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

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

  • Посещение

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

    57

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

  1. Like
    ENERGY отреагировална Равиль Зарипов (ZuBy) в Есть ли аналог FMX.Android Download Service для iOS?   
    не совсем понятно чем обычный THTTPClient не угодил?
  2. Like
    ENERGY получил реакцию от Kitty в XCode версия   
    По умолчанию Берлин не может работать с Xcode 9x. Будет ошибка о том что не хватает какого то файла. Это можно пофиксить, скопировав на мак один файл. Это для компиляции с SDK iOS < 11 и это тоже будет работать на Берлине втч. отладка на живой iOS 11+.
    Но, для того чтобы откомпилировать программу с SDK iOS 11+ (а это нужно по условию Apple, иначе не пропустят) с Берлином - тут уже будет Linker Error 1 и ничего не поделать, нужна Токио последней версии.
    Насчет обновления Xcode не знаю,т.к. я просто обновлял Xcode до 9.2. Рекомендую поставить Sierra  и  Xcode 9.2. Т.к. для 9,3 нужна High Sierra, а она через раз загружается на виртуалке. Плюс я помню была проблема с 9.3, хотя может это уже пофиксили в Токио 10.2.3
  3. Like
    ENERGY получил реакцию от Ingalime в XCode версия   
    По умолчанию Берлин не может работать с Xcode 9x. Будет ошибка о том что не хватает какого то файла. Это можно пофиксить, скопировав на мак один файл. Это для компиляции с SDK iOS < 11 и это тоже будет работать на Берлине втч. отладка на живой iOS 11+.
    Но, для того чтобы откомпилировать программу с SDK iOS 11+ (а это нужно по условию Apple, иначе не пропустят) с Берлином - тут уже будет Linker Error 1 и ничего не поделать, нужна Токио последней версии.
    Насчет обновления Xcode не знаю,т.к. я просто обновлял Xcode до 9.2. Рекомендую поставить Sierra  и  Xcode 9.2. Т.к. для 9,3 нужна High Sierra, а она через раз загружается на виртуалке. Плюс я помню была проблема с 9.3, хотя может это уже пофиксили в Токио 10.2.3
  4. Like
    ENERGY получил реакцию от Ingalime в XCode версия   
    Лучше использовть Tokyo 10.2.3 чтобы избежать танцев с бубном. 
    А для Android имхо лучше оставить Берлин. Тем более они нормально соседствуют.
    А так пойдет Xcode 9.2, его можно ставить на Sierra 10.12.6. 
    А для 9.3 уже нужен High Sierra (а с ней у меня были проблемы на VMWare - грузилась через раз) и помню там были проблемы с Xcode 9.3 с Delphi. 
     
  5. Like
    ENERGY получил реакцию от Kitty в XCode версия   
    Лучше использовть Tokyo 10.2.3 чтобы избежать танцев с бубном. 
    А для Android имхо лучше оставить Берлин. Тем более они нормально соседствуют.
    А так пойдет Xcode 9.2, его можно ставить на Sierra 10.12.6. 
    А для 9.3 уже нужен High Sierra (а с ней у меня были проблемы на VMWare - грузилась через раз) и помню там были проблемы с Xcode 9.3 с Delphi. 
     
  6. Like
    ENERGY получил реакцию от Anatoliy в XCode версия   
    Лучше использовть Tokyo 10.2.3 чтобы избежать танцев с бубном. 
    А для Android имхо лучше оставить Берлин. Тем более они нормально соседствуют.
    А так пойдет Xcode 9.2, его можно ставить на Sierra 10.12.6. 
    А для 9.3 уже нужен High Sierra (а с ней у меня были проблемы на VMWare - грузилась через раз) и помню там были проблемы с Xcode 9.3 с Delphi. 
     
  7. Like
    ENERGY получил реакцию от HyperZen в Как убрать черту под TSpinBox?   
    Зайти в Background SourceLInk и сдвинуть нижнюю границу чуть повыше, т.к. видимо захватывает прозрачную часть, отсюда и артефакт.
  8. Like
    ENERGY получил реакцию от Alexandr4444 в Как в программе определить физические размеры экрана устройства?   
    Android/iOS var    clientScreenScale   : Single;    clientScreenSize    : TSize;    clientScreenService : IFMXScreenService; begin   if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(clientScreenService)) then     clientScreenScale := clientScreenService.GetScreenScale   else     clientScreenScale := 1;   // The display device's width:   clientScreenSize.CX := Round(clientScreenService.GetScreenSize.X * clientScreenScale);   // The display device's height:   clientScreenSize.CY := Round(clientScreenService.GetScreenSize.Y * clientScreenScale); end;  
  9. Like
    ENERGY получил реакцию от Евгений Корепов в Детский вопрос про область видимости переменной   
    Обычно я делаю класс TCore, в котором все необходимое и настройки и переменные, я стараюсь формы и логику всегда отделять (раньше для Windows я вообще отделял логику и ядро в DLL ). Формы нужны только для отображения содержимого. Этот класс создаю в dpr до всех форм, Core соответсвенно в отдельном модуле, и глобальная переменная gCore там же в interface. Этот Core.pas подключаю уже везде. Это очень практично.
  10. Like
    ENERGY получил реакцию от Ingalime в Детский вопрос про область видимости переменной   
    @estra Так лучше не делать, т.к. решение не кроссплатформенное.  Не пойму что мешает автору завести отдельный pas модуль, например GlobalConst.pas и там объявить эту глобальную переменную и затем подключать этот модуль куда угодно. Это надуманная проблема. 
  11. Like
    ENERGY получил реакцию от krapotkin в Детский вопрос про область видимости переменной   
    Обычно я делаю класс TCore, в котором все необходимое и настройки и переменные, я стараюсь формы и логику всегда отделять (раньше для Windows я вообще отделял логику и ядро в DLL ). Формы нужны только для отображения содержимого. Этот класс создаю в dpr до всех форм, Core соответсвенно в отдельном модуле, и глобальная переменная gCore там же в interface. Этот Core.pas подключаю уже везде. Это очень практично.
  12. Like
    ENERGY получил реакцию от Ingalime в AndroidTV   
    Captain here!
    Соберите пустое приложение, где отключены все разрешения. Если установится, значит проблема в разрешениях.
    Captain flies away
     
  13. Like
    ENERGY получил реакцию от Barbanel в Вопрос Эппла о шифровании данных   
    В своих программах всегда использую https. Всегда отвечал нет, все проходило. При использовании https не нужно указывать шифрование, это пишут и на стэке. В основном рекомендуют отвечать Да, если вы используете Apple библиотеки для шифрования (Security framework, CommonCrypto).
    Я вообще не вижу проблемы. Отвечайте "Нет", это ускорит процесс рассмотрения.
    Очень низкая вероятность того что вас забанят из за того что неправильно указаны пункты в анкете, просто не пропустят программу до исправления причины.
     
  14. Like
    ENERGY получил реакцию от Ingalime в Вопрос Эппла о шифровании данных   
    В своих программах всегда использую https. Всегда отвечал нет, все проходило. При использовании https не нужно указывать шифрование, это пишут и на стэке. В основном рекомендуют отвечать Да, если вы используете Apple библиотеки для шифрования (Security framework, CommonCrypto).
    Я вообще не вижу проблемы. Отвечайте "Нет", это ускорит процесс рассмотрения.
    Очень низкая вероятность того что вас забанят из за того что неправильно указаны пункты в анкете, просто не пропустят программу до исправления причины.
     
  15. Like
    ENERGY получил реакцию от FREEFAR в Вопрос Эппла о шифровании данных   
    В своих программах всегда использую https. Всегда отвечал нет, все проходило. При использовании https не нужно указывать шифрование, это пишут и на стэке. В основном рекомендуют отвечать Да, если вы используете Apple библиотеки для шифрования (Security framework, CommonCrypto).
    Я вообще не вижу проблемы. Отвечайте "Нет", это ускорит процесс рассмотрения.
    Очень низкая вероятность того что вас забанят из за того что неправильно указаны пункты в анкете, просто не пропустят программу до исправления причины.
     
  16. Like
    ENERGY отреагировална Евгений Корепов в Требования к целевому уровню API с августа 2018 г.   
    Файл AndroidManifest.template.xml в папке проекта (это шаблон манифеста). 
    Строка:
        <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" />
    Если вы откомпилируете проект и посмотрите подготовленный средой файл манифеста в папке
    \Android\Debug\AndroidManifest.xml
    то увидите что приложение предназначено для API десятилетней давности:
        <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14" />
    Гугль от вас просит примерно такого
        <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="26" />
    Измените шаблон AndroidManifest.template.xml:
        <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="26" />
     
  17. Like
    ENERGY получил реакцию от Равиль Зарипов (ZuBy) в Круглая кнопка   
    Если кому то нужна круглая кнопка со сглаживанием под Android\iOS - то ставьте компоненты @Равиль Зарипов (ZuBy), сделанные на основе модуля FMX.Graphics.Native.pas от одного китайского программиста.
    https://github.com/rzaripov1990/ZMaterialComponents ( тут все готово, сам модуль отдельно скачивать не надо.)
    Дальше кидаем TZNativeDrawFigureCircle1, в него лэйбл и TColorAnimation как указано выше.  
    OnClick работает без проблем, только не забудьте поставить кругу HitTest := true, а у лэйбла false. 
  18. Like
    ENERGY получил реакцию от #WAMACO в Круглая кнопка   
    Если кому то нужна круглая кнопка со сглаживанием под Android\iOS - то ставьте компоненты @Равиль Зарипов (ZuBy), сделанные на основе модуля FMX.Graphics.Native.pas от одного китайского программиста.
    https://github.com/rzaripov1990/ZMaterialComponents ( тут все готово, сам модуль отдельно скачивать не надо.)
    Дальше кидаем TZNativeDrawFigureCircle1, в него лэйбл и TColorAnimation как указано выше.  
    OnClick работает без проблем, только не забудьте поставить кругу HitTest := true, а у лэйбла false. 
  19. Like
    ENERGY получил реакцию от Barbanel в Tokyo 10.2 Не работает дебаг в Android   
    Рестарт Windows и Android? 
  20. Thanks
    ENERGY получил реакцию от Sergiy_83 в Tokyo 10.2 Не работает дебаг в Android   
    Рестарт Windows и Android? 
  21. Like
    ENERGY получил реакцию от Brovin Yaroslav в Tokyo 10.2 Не работает дебаг в Android   
    Рестарт Windows и Android? 
  22. Like
    ENERGY отреагировална rareMax в Call-Stack на Android, iOS, Windows   
    Получаем call-stack в iOS - https://blog.grijjy.com/2017/02/09/build-your-own-error-reporter-part-1-ios/
    Получаем call-stack в Android - https://blog.grijjy.com/2017/02/21/build-your-own-error-reporter-part-2-android/
    Библиотека для Windows(и не только call-stack): DebugEngine
  23. Like
    ENERGY отреагировална Евгений Корепов в Узнать IP адрес устройства без дополнительных разрешений   
    Тут в процессе работы над одним проектом понадобилось узнать IP адрес устройства. Очень не хотелось включать дополнительные разрешения приложению. Думал ограничится одним "Доступ в Интернет".
    Вот как это можно сделать:
    С помощью TIdUDPServer посылаем широковещательное сообщение, с помощью того же TIdUDPServer сами получаем его и в ABinding узнаем с какого IP оно пришло. Таким образом мы узнаем IP адрес интерфейса с маршрутом по умолчанию.
    Вот код, все просто:
    unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, IdGlobal, IdSocketHandle, IdBaseComponent, IdComponent, IdUDPBase, IdUDPServer; const ConstUDPSendString = 'dfgb2hd3f6gbf'; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } FUDPServer : TIdUDPServer; FMyIP : String; procedure OnUDPServerUDPRead(AThread: TIdUDPListenerThread; const AData: TIdBytes; ABinding: TIdSocketHandle); procedure GetMyIP; public { Public declarations } end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.FormCreate(Sender: TObject); begin GetMyIP; end; procedure TForm1.GetMyIP; begin FMyIP:=''; FUDPServer:=TIdUDPServer.Create; FUDPServer.DefaultPort:=46734; FUDPServer.BroadcastEnabled:=True; FUDPServer.OnUDPRead:=OnUDPServerUDPRead; FUDPServer.Active:=True; FUDPServer.Broadcast(ConstUDPSendString, FUDPServer.DefaultPort); end; procedure TForm1.OnUDPServerUDPRead(AThread: TIdUDPListenerThread; const AData: TIdBytes; ABinding: TIdSocketHandle); begin AThread.Synchronize(AThread, procedure begin if BytesToString(AData).Equals(ConstUDPSendString) and FMyIP.IsEmpty then FMyIP:=ABinding.PeerIP; end ); end; end.  
  24. Like
    ENERGY отреагировална Brovin Yaroslav в Определить, к какому TObjectList принадлежит элемент   
    Так поиск в словаре O(1). Вычисление хеша и получение индекса.
  25. Like
    ENERGY отреагировална mazayhin в Программно развернуть свернутое приложение   
    Вот здесь, когда оборачиваете в PendingIntent, присваиваете ему уникальный номер (в примере выше это 1), этот номер где-то храните.
    PendingIntent := TJPendingIntent.JavaClass.getBroadcast (TAndroidHelper.Context, _ТУТ НОМЕР_, intent, 0); Потом, что бы отменить, создаете идентичный PendingIntent, с номером, с которым запускали, и
    TAndroidHelper.AlarmManager.cancel(PendingIntent);  
×
×
  • Создать...