-
Постов
385 -
Зарегистрирован
-
Посещение
-
Победитель дней
14
Весь контент xenon54
-
Исправить эту функцию в исходниках FMX.ListView
-
Я конечно понимаю, что бороться с проблемой весело, но если не секрет, зачем вам серверная часть, отвечающая за пуши в виде экзешника? Почему выбор не пал на давно реализованное PHP решение, которое может работать на любой платформе?
-
Запустить приложение из сервиса или показать форму
xenon54 ответил albionseo вопрос в Сервис(служба)
Я бы дропнул нахрен сразу такое приложение, которое уничтожает батарейку своим сервисом который каждую секунду бесконечно шлет гет запросы. -
Нет, кнопки не должны растягиваться. Вот если необходимо чтобы кнопки были, например, справа и расстояние между ними 20, то я делаю у всех кнопок Align = Right, Margin->Left = 20. В результате они все аккуратненько стоят друг за другом в правой части родителя (TLayout). Если же сделать Align = Center, то все кнопки располагаются в центре друг на друге. При выравнивании справа, слева, сверху и снизу такого нет: они располагаются друг за другом. Почему выравнивание в центре располагает компоненты друг на друге? Что-то не так делаете, при выравнивании в центре они должны норм ложиться.
-
Ну если ваши кнопки должны растягиваться и расстояние должно оставаться между ними ровно 20 пикселей, то сделайте у всех кнопок align=client и margin(top=5,bottom=5,right/left=10 кроме первого и последнего).
-
Думаю, вам поможет TGridPanelLayout. Делаете один ряд с 5 колонками по 20% шириной. и внутри у каждого своего элемента делаете align=center и фиксированный размер 40х40. Это если я вас правильно понял.
-
Здравствуйте. Хочу сделать так, что бы при сворачивании приложения (нажатие кнопки Home) у одной панели Visible становился false, у другой true. Пробовал вешать такой обработчик на различные события: OnShow, BecameActive, EnteredBackground, WillBecomeForeground, WillBecomeInactive. Результат один: это действие отрабатывает только после полного разворачивания приложения. Т.е. при нажатии на приложение, оно начинает открываться (zoom in в течении 1 секунды) и это картинка, панель все еще видна. И только после полного открытия, панель исчезает. Пробовал в обработчиках вешать form1.invalidate, не помогло. Есть какие-нибудь соображения как выполнить рендер до того как приложение свернется? P.S.: если щелкнуть 2 раза Home, то появляются миниатрюры запущенных приложений, и там, естественно, тоже картинка, до выполнения visible.false.
-
Запустить приложение из сервиса или показать форму
xenon54 ответил albionseo вопрос в Сервис(служба)
Все в кучу намешали. То нужно показать уведомление пользователю, то отправить гет запрос в фоновом режиме. -
Запустить приложение из сервиса или показать форму
xenon54 ответил albionseo вопрос в Сервис(служба)
у меня вконтакте не запущено, но когда мне пишут сообщение то появляется уведомление, тот же ватсап и вайбер, они висят сервисами, сами приложения закрыты, как они по вашему принимают сообщения, я блять уже заебался объяснять. Построю вопрос по другому: приложение не запущено, как он выводит уведомления о том что на сервере сообщение пользователю Прочитайте что вам пишут. Загуглите Apple Push Notification Service (для IOS) и Google Cloud Messaging (для Android). При помощи этих сервисов можно присылать сообщение на устройство и абсолютно не важно запущено ваше приложение или нет, сервис это или нет. -
XE8 без апдейтов. На какой строке AV? Provisioning profile должен включать APN. uses: System.PushNotification, FMX.PushNotification.iOS
-
var APS : TPushService; ASC : TPushServiceConnection; begin APS := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.APS); ASC := TPushServiceConnection.Create(APS); ASC.OnChange := DidAPNSChanged; ASC.OnReceiveNotification := form1.OnReciveAPN; ASC.Active := True; procedure TXAPNS.DidAPNSChanged(Sender: TObject; AChange: TPushService.TChanges); begin if TPushService.TChange.DeviceToken in AChange then begin FDevToken := APS.DeviceTokenValue[TPushService.TDeviceTokenNames.DeviceToken] ; Так у меня работает все на ура
-
http://qc.embarcadero.com/wc/qcmain.aspx?d=128968 Но еще раз повторю, вы не можете контролировать интервалы срабатывания обработчика. Это на усмотрение ОС.
-
Просто фоновые операции запрещены. Есть режим backgroundfetch. Вы регистрируете в системе обработчик события, которое вызывает сама система. Т.е. задать интервал самом реально не получится. Время выполнения вашего обработчика максимум 30 секунд. Чем больше работает ваш обработчик, тем реже система будет его вызывать. Более того, ваше приложение периодами выполняет какое-то действие, а потом система решила нахрен выгрузить ваше приложение и все, больше обработчик работать не будет. Т.е. сделать полноценный сервис который всегда будет работать в фоне невозможно из-за архитектуры ОС. P.S.: На практике, вызывается это событие раз в 10-60 минут.
-
Смею предположить, что эти названия лежат в константах в файле "FMX.Consts.pas", только как там его в C++
-
ssl: // gateway.sandbox.push.apple.com:2195 - Это для продакшн ssl: // gateway.push.apple.com:2195 - это для разработки
-
Там же написано что Resolved, но "Resolved in Build: : None".
-
TControl.width * canvas.Scale
-
Вероятно, любые действия с TBitmap нужно выполнять в основном потоке, только если этот Bitmap участвует в отрисовке на экране. Но это касается всего, что касается отрисовке на экране
-
Не смотрел ваш пример, но у меня ListBox нормально скролится на IOS. BorderStyle = None.
-
Я не спорю насчет удобности реализации, тут листвью не конкурент листбоксу. Просто в мобильных платформах Листбокс очень сильно проседает (подтормаживает при скролах), если много элементов.
-
Да, с листвью сложней, но со временем почти все списки в приложении пришлось переделать на ListView ради производительности. Сделать с LV можно почти все что можно сделать с LB, просто сложней.
-
Вообще, мне интересно, почему разработчики используют хелперы, вместо того что бы внести изменения в класс напрямую.
-
В деструкторе ListBoxItem нужно прописать обнуление ссылки FDate. Либо создать наследника и переопределить деструктор, либо править в исходниках.