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

krapotkin

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

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

  • Посещение

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

    209

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

  1. чорт, я всю неделю провел, раскапывая эту тему, и то до конца не достал )) а надо было просто немного подождать )))) огромное спасибо за статью
  2. кстати, на http запрос тоже прекрасно проходит
  3. проблема не отправить пуш проблема отправить пуш конкретному клиенту vIn := TStringStream.Create( '{"registration_ids":["' + Edit1.Text в новом API рекомендуют вместо "registration_ids" использовать "to" так вот что бы такое написать в Edit1.text ??
  4. 2 дня пытаюсь продолбиться сквозь эти дебри (( прошу помощи тех, кто уже прошел этот уровень... Мне нужен способ послать сообщение одному конкретному клиенту. Например, мобильный клиент шлет данные на мой сервер, через какое-то время сервер шлет клиенту push - ваши данные проверены, все ок... Я использовал Parse Provider, т.к. не нашел другого способа получить DeviceToken от GCM теперь уперся сюда, пример взят из инструкции: https://developers.google.com/cloud-messaging/downstream отправляю сообщение https://gcm-http.googleapis.com/gcm/send Content-Type:application/json Authorization:key=AIzaSyZ_мой_серверный_ключ { "data": { "score": "5x1", "time": "15:10" }, "to" : "APA91..._мой_device_token" } сейчас приходит ответ HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 ... {"multicast_id":4890281057234742377,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MismatchSenderId"}]} Кто такой SenderID ??? и где его указать ?? (( p.s. заголовок вроде верный, т.к. если что-то менять в Authorization, сразу ошибка 401 Unauthorized если менять параметр "to", то ответ 400 Bad Request INVALID_REGISTRATION
  5. ты просто вырвался вперед )) некому подсказывать ))) я сейчас только-только решаю вопрос, как получить токен девайса от GCM без Kinvey и т.п.
  6. krapotkin

    PushEvents без Provider

    Первый раз столкнулся с необходимостью слать push Пытаюсь понять логику работы. У меня есть back-end сервер на php и мобильное приложение Android на DX Мне нужно сделать оповещение конкретного пользователя о нужных ему изменениях в БД на сервере. Желательно даже когда программа в бакграунде. Я сделал тестовый пример PushEvents + ParseProvider. Все чудесно, но Поправьте меня, plz, если я неправильно понимаю концепцию 1) при запуске приложения зарегистрироваться в GCM и получить от него некий токен 2) переслать этот токен своему бак-енд серверу 3) в нужный момент сервер вызывает GCM сервис и просит передать сообщение конкретному клиенту с вот таким токеном так? Но всякие push события реализованы в TPushEvents, а реквизиты GCM - в провайдере TParseProvider. Нужен ли мне вообще ParseProvider если я все сообщения шлю от своего сервера прямо в GCM не используя parse?? По идее, мне нужен собственный провайдер?? что для этого нужно сделать?
  7. showMessage - это на устройстве. ясно, что там работает мало того, прямо аж с прокруткой! а исходный вопрос - как смотреть строку в отладчике. Watch. Evaluate. Inspect конечно, блин, найдется способ логировать. когда-то я и отладочную печать делал. только это было в 90-х, в прошлом тысячелетии ((
  8. угу, в файл на мобиле... есть и logcat тогда, там проще можно увидеть других способов смотреть Response.Content я не вижу
  9. рекомендую глянуть очень удобную библиотеку x-superobject там это будет выглядеть так x:ISuperObject; x:=TSuperObject.Create; отдел1 x.A['otdel'].i[0]; отдел2 x.A['otdel'].i[1];
  10. а что значит в центре, только одна левее и выше, а вторая правее и в третьем ряду ??
  11. задача не посмотреть JSON. это так, причина задача - видеть в Watch или Evaluate строку длиной более 255 символов. самый простой вариант для JSON - скопировать в Notepad++ и смотреть в любом виде - деревом, строкой и т.д. только неоткуда ее скопировать в Notepad
  12. json - это обычная текстовая строка для удобства можно мнить ее объектами есс-но т.к. объекты мы вообще не видим, так хоть строку, но и тут всего 255 символов только, остальное - тайна....
  13. действительно, как я забыл? структуру JSON. нет ничего проще! отладчик Seattle вообще не знает ничего о существовании объектов сложнее Integer да и Integer - только если он прямо локальный-прелокальный... а глобальные объекты так и вообще
  14. Seattle Android Отлаживаю передачу JSON между мобилой и API сайта. Естественно, JSON получается не 100 символов, но ведь и не килобайт... Нашел ли кто-нибудь способ просмотреть строку, хотя бы по частям, в стандартном отладчике? Пробовал запихивать в StringList, но StringList visualizer тоже не работает, да и просмотр List[0] - пишет, что нет такой переменной вообще (((
  15. ну вот отсюда и бери теперь поиск подстроки в строке - функция PosEx(что_искать, где_искать, откуда_начать)
  16. думаю, судя по задаче, вполне подойдет не текстовый, а просто имя класса имеем исходный фрейм: TBaseFrame=class(TFrame) ... end; TBaseFrameClass=class of TBaseFrame; от него унаследованы TMyFrame1=class(TBaseFrame) ... end; TMyFrame2=class(TBaseFrame) ... end; в главной форме - поле и метод TMainForm=class(TForm) ... CurFrame:TBaseFrame; procedure Run(cl:TBaseFrameClass); end; procedure TMainForm.Run(cl:TBaseFrameClass); begin FreeAndNil(CurFrame); CurFrame := cl.Create(Self); CurFrame.Parent := SomeContainerPanel; CurFrame.Align := Client; end; соответственно procedure TMainForm.Button1Click(...); begin Run(TMyFrame1); end; procedure TMainForm.Button1Click(...); begin Run(TMyFrame2); end;
  17. тогда вообще непонятно для чего все так странно мне ведь нужно, чтобы каретка переместилась только один раз, когда я впервые попал в edit. если использовать для этого OnMouseUp, то редактировать текст в edit станет совершенно невозможно, остается припиливать явный костыль типа полей FCurEdit и FFirstClick
  18. ОФФ: а вот если бы не хранили данные "на экране" прямо в stringgrid, не было бы проблем VCL или FMX... а что сейчас приходит в Tab.Rows.Item(i).Cells.Item(j).InnerText; ?
  19. если кнопка создана в дизайнере, значит, она описана как поле в классе фрейма, соответственно компилятор имеет доступ к ней стандартным способом а есть у нее текст или нет, совершенно все равно
  20. в стандарте json обычно юникод кодируется как \uXXXX попробуй сделать JSON-строку не сам, а штатными средствами
  21. это не работает только если кнопки в классе не было, и ты ее динамически сам создал тогда перебор а еще лучше создать а ссылку сохранить в переменной. не 100 же кнопок там создается
×
×
  • Создать...