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

Alex Bozhko

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

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

  • Посещение

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

    4

Сообщения, опубликованные Alex Bozhko

  1. Подскажите, а есть ли возможность при получении пуша запустить программу, если она в этот момент закрыта?
    Раньше для этого правились исходники и пересобирался classes.dex. В Rio что-то не получается это сделать...

  2. Реализую пуш нотификацию с помощью  Firebase Cloud Messaging, как показано в примере http://thundaxsoftware.blogspot.com/2017/01/firebase-cloud-messaging-with-delphi.html

    Отсылаю пуш с помощью консоли Firebase.

     

    Если приложение активно, то срабатывает обработчик OnReceiveNotificationEvent. И там мы делаем, что нам надо.

    Если же приложение свёрнуто или выгружено из памяти, то приходит нотификация. Но текст и заголовок не тот, который я отправляю. В качестве этих параметров в нотификации - имя приложения.

    20180524-adey-32kb.jpg

     

    А как мне в нотификации получить тот текст и заголовок, который я хочу, если приложение выгружено?

     

    00.jpg

    01.jpg

  3. Вопрос из серии "чего-то странного хочется".
    Предположим, я хочу написать собственный ListView. Если я наследую от TListView, то всё нормально. Я его регистрирую с помощью процедуры Register

    Примерно так:

    procedure Register;
    begin
      RegisterComponents('<Моя вкладка>', [TМойListView]);
    end;

    И всё работает.

    Но, как показывает практика, в том числе пример Равиля Зарипова (https://github.com/rzaripov1990/ModernListView) для того, что бы написать полноценный ListView, наследоваться надо от предков TListView, едва ли не от TStyledControl.

    Дальше возникает вопрос. Где и как правильно регистрировать вновь созданный компонент?

    Если зарегистрировать компонент с помощью процедуры Register, то при размещении компонента на форме в окне Structure к вновь созданному компоненту не привязывается ItemAppearence.
    00.jpg.b839b4e134e8e41ff72d9f16d1aba5eb.jpg

     

    Да и IDE падает.

    Прилагаю файл с кастомным ListView. Сделан по аналогии с оригинальным, изменены только названия.

     

     

    My.FMX.ListView.zip

  4. Вставлю свои пять копеек.

    Про изначально не понравилось в FireMonkey...

    Да, действительно, сначала было как у классика - "Да ты же, парень, прыгаешь в длину!" Т. е. брал Андроид и лепил десктопное приложение под него. Потом пришло понимание того, что так делать не надо. Взял тот же Андроид и начал смотреть, а как же там сделан GUI. После этого как-то отпала необходимость в гридах и прочих прелестях VCL. а вот не нравится то, что LiveBinding использовать невозможно. в принципе. Т. е. сейчас я ручками заполняю контролы из датасетов, и опять же ручками обрабатываю. Не сложно, но долго. Даже возникла идея, а не вооружиться ли старыми мануалами и не написать ли свои db-aware контролы. Отсюда сразу вопрос, нет ли каких-то принципиальных ограничений для этого? Почему пока есть  только одна реализация чего-то подобного, которая нереальных денег стоит.

    Вторая вещь, которая мне не нравится, скорее организационная. Отсутствие преемственности кода. Вот ни разу не удалось запустить приложение, собранное на предыдущей версии FM без каких-либо правок. ну, да ладно.

    Потом я немного полистал литературу по Android Studio. И вот теперь задумался. Ведь FM приложения они по архитектуре несколько отличаются... А действительно, можно ли на FM написать всё то, что можно сделать в той же Андроид Студии? ну, пусть не сейчас, пусть в перспективе. Т.е. возможно ли это в принципе? Или это жертва, которую придётся приносить на алтарь кросс-платформенности?

     

  5. В 27.11.2016 в 01:25, GoldenEalge сказал:

    Да понял ,удаляет выделенную строку.

    А возможно ли как то получить строку как из стринг листа List[1] ? 

    По моему, Вы несколько не верно трактуете саму идею.

    В большинстве случаев Вам не нужно работать ни с Листом ни с компонентами реализации LB.

    Вы работаете с набором данных, т. е. в нашем случае с FDMemTable. По сути, всё так же как и в VCL с DataSource. Вы же не обращаетесь к гриду, что бы вытащить значение. Вы обращаетесь к DataSet'у.

    Единственное, о чем необходимо позаботиться, что бы при перемещении по Листу шло перемещение по датасету. Но, по умолчанию так и будет, ничего делать не нужно. Исключение было лишь в одной из ранних версий FireDac.

  6. 2 минуты назад, Error сказал:

    Предлагаю подождать, возможно это подготовка RadSudio к продаже?

    Если компанию собираются продавать, то обычно увеличивают её капитализацию. а самый простой способ это сделать - набрать побольше сотрудников. Так что нет, не думаю. Да и банально кому нужен продукт без разрабов.

  7. 1 час назад, bigjorj сказал:

    Никто же не говорит что разработку вообще останавливают. Линукс будет. Но видимо затраты на разработку сокращают кардинально. В Google+ пишут что всю разработку переносят на фрилансеров, в основном в украине :(

    О как интересно!

  8. С одной стороны, покупать нужно последнюю версию, но кодить на предпоследней. Но на самом деле, я думаю они просто хотят перевести клиентов на подписку.

    Опять же, меня бы устроил вариант, подобный тому, как MS сделали с офисом. Либо год по демократичной цене, либо навсегда, но дорого.

  9. 12 часа назад, wamaco сказал:

    Надо RAD сделать полностью бесплатной

     

    Конечно надо! Но прежде всего надо, что бы команда разработчиков, в том числе и создатель этого форума, имели ресурс на развитие качественного продукта. А вот как это сделать (что бы и овцы целы и волки сыты) думают специально обученные люди из команды маркетологов.

     

  10. На моей памяти впервые была скидка живыми деньгами. Я о последней акции - минус 30% для индивидуальных разработчиков. Скажу так, народ реально заинтересовался. Надеюсь это был пробный шар, и подобные акции будут и дальше.

×
×
  • Создать...