Alex7wrt

Пользователи
  • Публикаций

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

  • Посещение

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

    14

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

  1. Добрый день Столкнулся с такой задачей: Существует несколько TObjectList<TRectangle>. При создании каждого из них AOwnsObjects задано как True. RectList[i]:=TObjectList<TRectangle>.Create(True); ............ Nrect:=TRectangle.Create(nil); Nrect.Parent:=Form1; RectList[i].Add(Nrect); Существует ли способ определить, к какому из TObjectList принадлежит элемент?
  2. Да, такой подход допустим, его рассматривал среди прочего. Но хочется узнать, есть ли более "прямолинейный подход" в FMX.
  3. Ваш пример с фреймом немного из другой оперы, поскольку TObjectList нельзя указать в качестве Owner. Это список, а не комонент, иначе все было бы гораздо проще. А для управления жизненным циклом обьектов как раз и установлен в True параметр AOwnsObjects.
  4. Вряд ли. Списков может быть очень много. Нужно у каждого спрашивать, есть ли в нем нужный объект? Есть ли способ у самого объекта получить ссылку на тот ObjectList, к которому он принадлежит?
  5. Выше правильно написали о глюках в Tokyo под Android. Также учтите, что событие таймера, также как и анимации, обрабатываются в главном потоке. При этом вы задали достаточно маленький интервал для таймера. Поэтому, лучше перенести действия над визуальными компонентами за пределы таймера (если они там есть), а сам таймер сделать на основе потоков.
  6. В событии OnResize формы проверять width > height и для каждого из двух вариантов переприсваивать позиции и размеры тех контролов, которые должны меняться.
  7. Насчёт 10.2.2 не знаю, наверно так, раз у вас это наблюдается, но у меня вообще в этой версии под Андроид вылазят артефакты, иногда мерцают части отрисовки примерно как у вас в Пятнашках. В результате вернулся на 10.1.2. А в ней с ProcessMessages ничего такого не замечал, да и вы тоже пишите, что использовали раньше. Прочитал ваш пост. Приблизительно понял, что вы имеете в виду. Но лично у меня ProcessMessages никогда не приводил к сбоям. Возможно потому, что использовал ее всегда в простых ситуациях вроде тех, о которых писал в посте выше.
  8. Ну, даже Ярослав считает это плохим стилем. )) Тогда объясните плз, почему это плохой стиль. Я так понимаю, плохой стиль называется плохим, если он может привести к непредвиденному сбою. Но если инструмент не приводит к сбою и решает поставленную задачу, то, как мне кажется, он не обязательно является плохим стилем.
  9. Зависит от контекста. Можно найти много полезных применений. Помню, первый раз пользовался еще на Delphi 7 (там немного по-другому называлась), когда рисовал график по точкам и нужно было, чтобы график появился не сразу, а как бы анимацией. Или например, когда нужно подсветить выбранный Item (пункт меню), перед тем как скрыть само меню, если после этого сразу выполняются какие-то действия.
  10. Всем здравствуйте! Можно ли в Google Play опубликовать приложение не для всех, а только для небольшой группы людей? Приложение должно легко обновляться и поддерживать PUSH уведомления. Поэтому удобно использовать Google Play. Но при этом оно не должно быть доступным для каждого,. Есть ли такая возможность в Google Play?
  11. Там же написано следующее: Прежде чем проводить тестирование, убедитесь, что ваше приложение готово к публикации в Google Play.Пользователи могут принять участие в тестировании, выбрав соответствующий параметр на странице приложения. Однако предварительная версия доступна для всех и появляется в результатах поиска в Google Play. Поэтому она должна быть максимально готова к публикации. https://developer.android.com/distribute/best-practices/launch/beta-tests.html?hl=ru То есть даже при бета тестировании приложение все равно доступно для всех?
  12. Бекенд для чатов (PHP+MySQL)

    Зависит от механизма реализации. Как вы реализовываете механизм проверки, отправили ли пользователю сообщение? Если путем частых запросов на сервер от каждого клиента, то могут быть проблемы, если таких пользователей будет много. Но у меня, например, есть приложение (не чат) на PHP+MySQL, где происходит обращение к серверу с последующей обработкой данных из базы и получением ответа в среднем с частотой 50 раз в секунду. Полет нормальный.
  13. Не в курсе насчет версии 10.2.3, но по roadmap следующей версией должна быть 10.3 и в ней планируют Z-order Вот фотка с дорожной карты. https://community.embarcadero.com/uploads/376/2017roadmap/RADRoadmapSept2017_5.png https://community.embarcadero.com/uploads/376/2017roadmap/RADRoadmapSept2017_8.png А вот поддержки 64-битных приложений для Android на ней нет...
  14. В вашем случае несколько TButton, у каждого из них меняются две координаты, и все это зависит от одного параметра. Поэтому нет особого смысла в TAnimation, здесь проще воспользоваться Таймером. Сделал простой пример, во вложении. Buttons.zip
  15. Задать для тех TButton, которые должны вращаться по окружности значение Position.Point:=PointF(Xc+R*cos(A+D[i]), Yc+R*sin(A+D[i])), где Xc, Yc - координаты центра, вокруг которого движется TButton, R - расстояние от этого центра до центральной точки TButton, A - параметр (угол), который линейно меняется (если нужна постоянная скорость) с помощью таймера либо TAnimation. Если элементов TButton несколько, то сдвигом A+D задается угловое смещение TButton относительно друг друга. Например, если всего N штук TButton, то Di=2*Pi/N*i. Xc, Yc и R легко выражается через координаты и размеры центра и TButton. P.S. Задача аналогична круговому вращению планет вокруг Солнца
  16. Возможно, проблема в том, что вы не обнуляете переменную CurrentPath. И при повторном нажатии на Item в ней будет строка, которая уже не является путём к директории или файлу. Поэтому код не срабатывает.
  17. Что невозможно сделать на Delphi для Android?

    Первый раз слышу о проблемах с TThread.Synchronize.
  18. Если нужны небезопасные разрешения. Если таковые не нужны, то костыль не нужен. Хотя не такой уж это и костыль (Если речь о решении Андрея Ефимова). А вполне хорошая вещь.
  19. Google уже пообещала с лета ограничивать приложения, TargetSDK которых ниже актуальной версии на 2 единицы и более. Так что гнаться нужно будет обязательно, чтобы приложение осталось в Google Play
  20. Google Mobile Ads SDK

    Да, реклама показывается
  21. Что невозможно сделать на Delphi для Android?

    Разве возможность выдавать разрешения в рантайм не может появиться в будущих версиях FMX? (Тем более что пример от Андрея Ефимова подтверждает, что и сейчас это решаемо). Тоже самое и насчет 64 битных приложений. Почему вы считаете, что нужно валить с делфи? Думаю, вопрос не только в разрешениях? Будьте добры, подскажите, на чем основываются ваши соображения. Просто собираюсь дальше писать под Андроид и немного неожиданно было прочесть такую инфу в вашем комментарии )).
  22. Контур TRectangle

    Если нужно убрать контур полностью, то Rec_1.Stroke.Kind:=TBrushKind.None; Если нужно отобразить не все стороны, то Rec_1.Sides := [TSide.Top, TSide.Left, TSide.Right];
  23. Поддежка экрана IPhoneX

    Добрый день. Совсем недавно появилась информация, что с апреля все публикуемые в App Store приложения должны обязательно поддерживать экран смартфона Apple iPhone X. В связи с этим естественно напрашивается вопрос, как это реализовать в Rad Studio и что вообще подразумевается под поддержкой такого экрана - чтобы в приложении было предусмотрено место под выемку? Кто в курсе, подскажите, что к чему.
  24. Окончание подписки

    Тоже есть вопрос по этой теме. Для того, чтобы уже размещенные приложения продолжали быть доступными - достаточно ли обновить годовую подписку, или же нужно заново получать все сертификаты (у них тоже ограничение 1 год), пересоздавать приложение с новыми сертификатами и обновлять его в App Store?