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

FeLDMARShaL

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

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

  • Посещение

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

    5

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

  1. Решили мы обновить свое приложение в AppStore (С момента прошлой успешной публикации было очень незначительные изменения, исправлены синтаксические ошибьки, немного изменен интерфейс и еще по мелочи). До этого момента всегда с первого раза проходили проверки (на нескольких приложениях). А тут нам пришел отказ, мол наше приложение не работает с их IPv6 сетью. Вот полный текст отказа (если кому то интересно): В статье https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW1 написано как настроить на маке сеть с поддержкой DNS/NAT64 (пункт To set up a local IPv6 Wi-Fi network using your Mac) Настроили мы такую эмуляцию и запустили наше приложение, и оно действительно не может достучаться до глобала. Сначала мы подумали на неподдержку такого режима нашими сторонними (платными и довольно известными) компонентами RTC. Но я попробовал сделать нечто похожее штатными средствами (при помощи инди и получил точно такую же ошибку), код с инди прикрепляю: var IdHttp: TIdHTTP; Data, ResponseContent: String; AData, AResponseContent: TStringStream; begin IdHttp := TIdHTTP.Create(nil); try Data := ''; try AData := TStringStream.Create(Data); AData.Position := 0; AResponseContent := TStringStream.Create; try IdHttp.Request.ContentType := 'application/x-www-form-urlencoded;charset=UTF-8'; try IdHttp.Get('http://185.17.120.131:10020/HelloWorld', AResponseContent); except ShowMessage('f'); end; AResponseContent.Position := 0; ResponseContent := AResponseContent.DataString; ShowMessage(ResponseContent); finally FreeAndNil(AResponseContent); end; finally FreeAndNil(AData); end; finally FreeAndNil(IdHttp); end; end; Есть какие нибуть идеи как такое можно вылечить или обойти? Проблема более чем актуально. п.с. использую Delphi 10 Seatle + последняя мак ось на мак мини. п.с.2. Может быть эта проблема исправлена на Delphi 10.1 Berlin?
  2. Все сделал как описал, скомпилировался на ура, но при попытки установить файл выдал вот такую ошибку: Unable to create process: Unable to install '<APK file>'. Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED] Может надо подменить какой нибудь файл classes.dex ?
  3. На мобильных платформах есть очень интересная технология под названием DeepLinking (ну или как то похоже) Вот он ней интересная статья есть на хабре https://habrahabr.ru/company/redmadrobot/blog/267587/ Интересует вопрос, есть ли какая нибудь маломальски готовая реализация этой технологии у Embarcadero. Пытался гуглить, искать по форуме, искать что то похожее в названиях компонентов (штатных и фгх) но даже намеков на такое не нашел. Технология очень интересная, было бы печально если девелоперы из ембаркадеро прошли ее стороной. Буду рад любым комментариям (например, кто нибудь уже искал и ничего не нашел, или если очень повезет, нашел и поделится ссылочкой.... отрицательный результат - это тоже результат) Может быть Админы форума знают что либо по этой теме?
  4. Понятно, значит прозрачных нативных контролов для мобильных платформ не получится сдеать. Печалька. это я так понял стандартные стили, для стилизованных (не нативных) контролов?
  5. Создам тему без привязке к конкретному компоненту, т.к. речь пойдет сразу о двух. Нужно реализовать 2 прозрачных компонента (Edit и Memo). Сейчас это реализованно моим стелем. Но хочется иметь нативное быстродействие у этих контролов. Можно ли сделать эти контролы нативными (выставив Свойство ControlType=Platform) и сделать их одновременно полностью прозрачными? Есть ли какой нибуть способ?
  6. FeLDMARShaL

    TShadowEffect

    Если у нас у скроллируемой панели создать эффект тень, то эта тень распространяется на все элементы которые находятся внутри этой панели. (Рис1) Если мы начинаем скроолировать панель, то контрол уезжает а тень остается на месте (Рис2) Такой эффект можно убрать если отключить и снова включить Enable у компонента тени. Или если выполнить операцию перерисовки (RecalcSize) у скролл панели. Есть ли более быстрый способ устранить негативный эффект тени? Или какой из способов отработает быстрее?
  7. FeLDMARShaL

    Режим звонка

    Я думаю проблема актуальна для ВСЕХ девелоперов кто делает iOS приложение. Ждем решние со стороны админов Может есть смысл написать в багрепорт абракадабры? Или кто то нашел решение и не хочет делиться опытом
  8. FeLDMARShaL

    Режим звонка

    Есть идеи как победить подобное явление?
  9. FeLDMARShaL

    Режим звонка

    В первом скриншоте, то как приложение выглядит в свободном состоянии, а справа то как оно стало выглядит если сейчас свернут звонок. Это стандартное поведение iOS (проверялось на iPhone4, iPhone5, iPhone6, везде одинаково) Как видно из скриншотов во первых появляется сверху полоса пустоты (сейчас она черная, т.к. приложение было запущено на момент звонка, но если приложение запустить уже после того как свернули звонок, полоса станет белого цвета, но сути это не меняет). Причем это именно полоса пустоты, которая перекрывает мое приложение, никакими мергинами, пэддингами его туда не вернуть. Если закончить звонок то все вернется как было и ранее. Второй баг - это кнопка Done становится кривой. Т.е. задача: во первых убрать это перекрытие черной полосой а также вернуть правильное положение Done (хотя вероятнее всего одно зависит от второго). Данный эффект можно наблюдать на любом FMX приложение из коробки. п.с. если выполнить код var UIApp: UIApplication; ... UIApp := TUIApplication.Wrap(TUIApplication.OCClass.sharedApplication); ShowMessage(FloatToStr(UIApp.statusBarFrame.size.Height)); то в обычном состоянии размер статус бара определится как 20 (белая верхняя полоса), во втором состоянии он определяется как 40 (зеленая полоса которая на вид в 2 разы шире белой). Т.е. эта черная полоса не попадает в статус бар, и это именно смещение самого приложения.
  10. FeLDMARShaL

    Режим звонка

    В обычном режиме приложение выглядит хорошо и правильно. Однако если кто топозвонить, и пользователь свернет звонок и вернется в приложение, то можно наблдать следующий баг.
  11. Так я же написал, что именно эта кнопка не вызывает событие FormKeyUp (кнопка Done на iOS клавиатуре). Та ссылка которую Вы указали - это для отлова кнопки назад у Андройда, отловом кнопки назад проблемы как раз нет, а вот кнопка Done не ловится.
  12. FeLDMARShaL

    TGlowEffect

    Странно выглядит эффект на андройде на некоторых планшетах. Включение/отключение не исправляет ситуацию. Замечено такое поведение часто наблюдается на контролах которые не прикреплены к границам формы. Есть идеи из за чего такое может быть? Установлено что на эффект не влияет ни один из параметров компонента. П.С. на картинке 2 эффекта, один правильно рисуется (под верхней белой панелью), а второй криво (на всплывающей форме с сообщением).
  13. У виртуальной клавиатуры в iOS есть кнопка Done. При нажатии на нее происходит скрытие клавиатуры. Есть ли способ отловить событие того что нажали именно на эту кнопку. Или повесить свое событие. Пробовал через методы OnKeyUp, OnKeyDown - они не отлавливают эту кнопку. Пробовал через IFMXVirtualKeyboardToolbarService, достучаться через метод GetButtonByIndex тоже не получилось (или я что то не так делал)
  14. Если Вас не затруднит, установите пожалуйста мой апк на Ваш телефон и сообшите результат (поскроллируйте панель, попереворачивайте экран) https://drive.google.com/file/d/0Bwau2DWuKoCJWDBnU1plYXF2M2s/view?usp=sharing А также не могли бы Вы выложить свой апк на котором все работает, я попробую его установить себе. p.s. напомню, что проект компилится в Delphi 10 Seattle.
  15. Никаких манипуляций со свойством проекта не делалось, все из коробки, сторонних компонентов нету. С манифестом также не баловался. У меня под рукой не оказалось ни одного устройства на котором полученное приложение работало бы, но знаю иногда есть устройства на которых оно работает правильно.
  16. Попробуем оживить тему, потому что очень актуально. Набросал простенький проект на котором воспроизводится этот баг, в проекте нет ничего лишниго. unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Controls.Presentation, FMX.StdCtrls, FMX.Layouts; type TForm1 = class(TForm) VertScrollBox1: TVertScrollBox; bOrderExample: TButton; procedure FormCreate(Sender: TObject); private procedure CreateButton(); public end; var Form1: TForm1; implementation {$R *.fmx} procedure TForm1.CreateButton; var newButton: TButton; begin newButton := TButton.Create(bOrderExample); newButton.BeginUpdate; newButton.Align := bOrderExample.Align; newButton.Size := bOrderExample.Size; newButton.EndUpdate; newButton.Parent := VertScrollBox1; end; procedure TForm1.FormCreate(Sender: TObject); var i: Integer; begin for i := 1 to 50 do CreateButton; end; end. VertScrollBox1 имеет позиционирование по всей форме, в нем находится кнопка bOrderExample, она имеет позиционирование по верху. При старте проекта динамически создаю 50 кнопок, которые также как и первая создаются внутри скрол панели. При попытки проскролить панель, при попытке повернуть экран приложение либо зависает намертво либо вообще вылетает.
  17. FeLDMARShaL

    pt vs px

    Как мне в контролах задать размер шрифта не в пикселах а в пунктах? Хочу что бы он одинаково выглядил на всех экранах. Ну или подскажите с универсальной формулой перевода из пикселов в пункты т.е. не преобразовать 16px в 13.5657pt а на входе иметь число 16 а на выходе 16 пунктов в пиксельном эквивеленте. Т.е. нужно выполнить задачу: текст размером 16 пунктов.
  18. FeLDMARShaL

    FingerPrint

    Требуется авторизация через сканер отпечатков пальцев (настоящее биометрическое устройство) Для iOS есть хорошие компоненты http://www.tmssoftware.com/site/tmsicl.asp#sthash.2wunBiDl.dpuf Для Android не могу ничего найти подобного. Нужно хотя бы отловить событие: успешная авторизация или нет. Есть идеи как такое реализовать? Может можно реализовать через стандартные евенты?
  19. О какой шторки идет речь? И как ее профиксить? Я думал что надо когда в GCM сервис посылаем нотификейшн надо там в каком то виде или с каким то параметром отсылать. Разве нет?
  20. FeLDMARShaL

    GCM + MultiLine

    Хочу сделать небольшую рассылку, посредством push. Текст в рассылки вероятнее всего на всех устройствах не влезает в 1 строчку. Есть способ сделать remoute notification с поддержкой нескольких строк? Локальные нотификейшины вроде можно (читал статью как это сделать на Delphi 10), но про дистанционные уведомления - не смог найти инфу. p.s. под дистанционными уведомлениями понимаю уведомления которые создаю на каком то удаленном сервере и при помощи php скрипта рассылаю их все зарегистрированным клиентам которые подписались на уведомления.
  21. А может товарищи админы/модераторы могут прокомментировать ошибочку. Может есть смысл попросить разработчиков эмбаркадеро заняться багом? раз он тянется уже как минимум с XE7? Ну или хотя бы любое временное решение посоветуете? Может есть сторонний компонент лишеный этого бага (по возможности бесплатный), или аналог?
  22. FeLDMARShaL

    TVertScrollBox+Android+Delphi_XE10

    Пытаемся пробовать переходить с XE8.1 на XE10. (под iOS багов пока не замечено, уже залили приложение в AppStore). А вот с Андройдом не так все хорошо. Есть форма, на нее в рантайме кладем (лейблы, панели, лаяуты), и как только кол-во контролов достигает какого то значения у нас на моем девайсе начинаются жуткие тормоза а потом приложение вылетает (если мы не успеваем вернуться на другую форму), на других девайсах сразу вылетает. Точного кол-ва контролов для наблюдения бага не помню, но примерно это число около 40. (т.е. не так уж и много). Причем при 39 контролах все идеально, а после добавления 40 контрола начинается ахтунг. На XE8.1 такого не наблюдается, поэтому для компилации под iOS используем 10, а для Android 8.1. Хотелось бы уже полностью перейти на 10. Есть идеи из за чего такое может происходить? Пробовал VertScrollBox поменять на обычные ScrollBox результат такой же. П.С. использу стили, может такое поведения быть вызвано плохим переходом от одного стиля к другому?
  23. Проверил на Delphi XE10 сиетл: тоже самое. точно также контролу башню сносит и теряется возможность передвигать каретку внутри контрола. Нуждаюсь в любом решении, способного победить этот крайне негативный эффект.
  24. Выше описал как этот баг воспроизвести штатными средствами. В своем же приложении я использую свой стилизованный контрол, в котором использую больший шрифт, в результате чего делаю сам контрол по высоте выше. И заметил, что работа с Edit пропадет не при определенных значениях шрифта, а при определенных соотношениях высоты Edit к размеру шрифта. Например (данные не точные): 1) При высоте 100 пикселов минимальный размер шрифта при котором контрол работает правильно 40 пикселов 2) При высоте 20 пикселов минимальный размер шрифта 13 пикселов Если выставить размер шрифта хоть на 1 пексел меньше чем минимальный, то будем наблюдать баг, что не можем перемещать курсор по контролу. Раньше обходил этот баг так: высчитывал примерное соотношение минимального размера шрифта при котором все было хорошо, и задавал физическии ограничение, в результате чего пользователь по факту никогда не смог бы уменьшить его и не увидеть баг. п.с. c iOS насколько я помню такая же проблема (но это не гарантирую, т.к. уже давно не проверял)
  25. FeLDMARShaL

    Font.Size и высота в TEdit

    Очень серьезный баг который раньше обходил всякими разными способами, но сейчас уже не получается. Воспроизводится стабильно. 1) Delphi XE8.1 2) Создаем новый проект для различных устройств 3) Кладем на форму TEdit 4) Делаем выравнивание по верху (просто так, чтобы не подгадывать с размерами, и чтобы после компиляции на устройство он не пропал) 5) Из StyleSettings убираем галочку напротив Size (чтобы можно было изменять размер шрифта в рантайме) 6) Ложим на форму TButton 7) Делаем выравнивание по верху (тоже просто так чтобы не потерялся контрол) 8) Создаем событие клика у этой кнопки, в котором уменьшаем на единицу размер шрифта у TEdit: Edit1.TextSetting.Font.Size := Edit1.TextSetting.Font.Size - 1; Компилируем на андроид устройство (любое, ошибка везде наблюдается) После успешного запуска приложения вводим в TEdit какую нибудь фразу из нескольких слов. И если тыкать по полю, то видим как каретка всегда ставится в от место которое тыкнули, т.е. у нас есть возможность тыкнуть на 2 букву и исправить ее. После чего начинаем уменьшать размер шрифта тыка по кнопке. И в один прекрасные момент у нас каретка жестко становится в самом начале и мы не можем изменить ее положение
×
×
  • Создать...