gonzales
Пользователи-
Постов
334 -
Зарегистрирован
-
Посещение
-
Победитель дней
27
Весь контент gonzales
-
вот засада. Google play требует api не ниже 26. Какой-то замкнутый круг(((
-
Нашел причину, в API 26 формирование уведомления строится по другому. https://startandroid.ru/ru/uroki/vse-uroki-spiskom/515-urok-190-notifications-kanaly.html Перевел приложение на API 25 и все заработало как надо. Подозреваю, что для работы пушей в API 26 нужно обновить саму делфу. (у меня сейчас берлин)
-
Нашел вот такую статейку, но не пойму, то это или нет https://stackoverflow.com/questions/43093260/notification-not-showing-in-oreo
-
К сожалению нет, или я не знаю куда копать. В настройках телефона все уведомления включены, режим энергосбережения выключил, в общем сделал все рекомендации, что нашел в инете. Причем, в открытое приложение уведомления приходят. Протестировал еще на телефоне с 7-ым андроидом - все работает.
-
Доброго времени суток! Сменил телефон и перестали приходить пуши при свернутой программе в андроид 8. На 5-ом все работает. Подозреваю, что не стартует сервис {$IF defined(ANDROID)} FPushService := TPushServiceManager.Instance.GetServiceByName(TPushService.TServiceNames.GCM); FPushService.AppProps[TPushService.TAppPropNames.GCMAppID] := FAndroidServerKey; {$ENDIF} Может кто подскажет, в какую сторону копать? Заранее спасибо!
-
Ну ответ понятен, тем не менее события OnMouseDown OnMouseUp на других контролах отрабатывают при тапе. Попробуйте! Неоднократно реализовывал таскалки контролов на форме.
-
Доброго времени суток! Соответствующая тема уже была и в ней есть решение но она уже закрыта, поэтому создал новую. Вот такая штука TrackBar1.Thumb.OnMouseUp:=form16.TrackBar1MouseUp; прекрасно работает в винде, но не работает на Андроиде. На iOS не проверял. Может у кого есть другое решение. Нужно отловить отпускание мыши. OnClick как-то странно работает, не всегда корректно. Делфи 10.1 Заранее спасибо
-
Они отличаются лишь возможностью задать кодировку стрима. Мне вообще нужна процедура DoRequest, на нее ссылаются и одна и вторая процедуры. Конфигурация Debug. Настройки DEbug на скрине.
-
Это я знаю. Парадокс в том, что я перехожу в процедуру в модуль из своего кода и пытаюсь ее отдебажить. Условно, вот код Stream:=TStringStream.Create; form1.IdHTTP1.URL.Host:='192.168.0.16'; form1.IdHTTP1.URL.Port:='554'; form1.IdHTTP1.URL.Username:='admin'; form1.IdHTTP1.URL.Password:='admin'; form1.IdHTTP1.URL.Protocol:='rtsp'; form1.IdHTTP1.Options('rtsp://admin:admin@192.168.0.16:554/live/ch00_0',Stream); Memo1.Lines.Add(Stream.DataString); Stream.Free; Я хочу посмотреть, как выполняется запрос OPTIONS. Тыкаю в него мышкой с Ctrl, попадаю в модуль idHTTP procedure TIdCustomHTTP.Options(AURL: string; AResponseContent: TStream); begin DoRequest(Id_HTTPMethodOptions, AURL, nil, AResponseContent, []); end; И на DoRequest breakpoint не ставится. Соответственно внутри DoRequest тоже некуда ставить точки остановки.
-
Доброго времени суток Столкнулся со странным поведением IDE Хочу посмотреть, что происходит внутри модуля idHTTP. Но не могу поставить точку остановки. Многие строки не подсвечиваются синим кружком. См скрин. Как-то можно это исправить? Заранее спасибо за ответы
-
Доброго всем времени суток! Есть задача, считать с ip-камеры видеопоток в формате MJPEG но не по протоколу HTTP (это реализовано и работает), а по RTSP. RTSP очень похож на HTTP, тоже все передается в текстовом виде. Вот тут есть хорошая статья https://habr.com/post/117735/ По существу: мне нужно отправить на камеру запрос вида OPTIONS rtsp://192.168.0.254/jpeg RTSP/1.0 CSeq: 1 User-Agent: VLC media player (LIVE555 Streaming Media v2008.07.24) И возможно еще данные авторизации для камеры. Вот кусок (как говорят рабочий), написанный на питоне def __init__(self): self.config = {} self.wait_description = False def connectionMade(self): self.session = 1 # Authorization part if self.config['login']: authstring = 'Authorization: Basic ' + b64encode(self.config['login']+':'+self.config['pass']) + '\r\n' else: authstring = '' # send OPTIONS request to_send = """\ OPTIONS rtsp://""" + self.config['ip'] + self.config['request'] + """ RTSP/1.0\r """ + authstring + """CSeq: 1\r User-Agent: Python MJPEG Client\r \r """ self.transport.write(to_send) if debug: print 'We say:\n', to_send def dataReceived(self, data): if debug: print 'Server said:\n', data Вопрос, как это переписать на делфе. Пните пожалуйста в нужную сторону, как правильно послать запрос. Я так понимаю сначала нужно определить запрос form1.IdHTTP1.Request.Method:='OPTIONS'; form1.IdHTTP1.Request.URL:='rtsp://admin:admin@192.168.0.16:554/live/ch00_0 RTSP/1.0'; Как-то так. А вот как его послать, и приделать к нему дополнительные параметры не могу сообразить. Буду благодарен за любую помощь.
-
Да, я даже нашел, что это были за элементы. По одному перетягивал в новый стиль и ждал появления ошибки. Это, кстати, может быть связано с тем, что у формы помимо стиля в дизайн-тайме присвоен fill-brush. Заметил, что когда цвет установлен стиль не применяется. Прикольно, попробую!!! То есть работаем не со стилем, а с конкретным объектом? Засада в том, что у меня динамические объекты и придется тогда их всех менять, это не совсем здорово.
-
В общем те же яйца, только в профиль. Стиль применяется, но изменить его элемент не получается
-
В смысле стиль применяется или меняется его элемент?
-
Cannot find style resource for Android [16FB7AC0]{fmxstyledesigner240.bpl} FmxStyleController.TStyleController.PlatformToResourceName (Line 638, "FmxStyleController.pas" + 25) + $1E [16FB7FA5]{fmxstyledesigner240.bpl} FmxStyleController.TStyleController.ChangePlatform (Line 729, "FmxStyleController.pas" + 18) + $C [16FB69F7]{fmxstyledesigner240.bpl} FmxStyleController.TStyleController.Create (Line 248, "FmxStyleController.pas" + 35) + $9 [16FB2BEF]{fmxstyledesigner240.bpl} FmxStyleWindow.TStyleWindow.Create (Line 66, "FmxStyleWindow.pas" + 2) + $D [16FBF721]{fmxstyledesigner240.bpl} FmxStyleEditors.DesignStyleBook (Line 80, "FmxStyleEditors.pas" + 2) + $B [16FBF819]{fmxstyledesigner240.bpl} FmxStyleEditors.TResourceProperty.Edit (Line 97, "FmxStyleEditors.pas" + 2) + $A [209CBF8E]{coreide240.bpl} PropInsp.TPropertyInspector.PropListEditDblClick (Line 965, "PropInsp.pas" + 18) + $6 [21483051]{vclide240.bpl} IDEInspListBox.TInspListBox.DoEditDblClick (Line 626, "IDEInspListBox.pas" + 2) + $A [21484E4F]{vclide240.bpl} IDEInspListBox.TInspListBox.ListButtonClick (Line 1322, "IDEInspListBox.pas" + 2) + $2 [50AA409F]{vcl240.bpl } Vcl.Controls.TControl.Click (Line 7429, "Vcl.Controls.pas" + 9) + $8 [2147A5F6]{vclide240.bpl} IDEListBtns.TListButton.WMLButtonUp (Line 584, "IDEListBtns.pas" + ? + $11 [50AA3B32]{vcl240.bpl } Vcl.Controls.TControl.WndProc (Line 7313, "Vcl.Controls.pas" + 91) + $6 [0CDB514C]{TrackingSystem240.bpl} TrackingSystemHelp.CBTHookProc (Line 211, "TrackingSystemHelp.pas" + 27) + $F [50AA7E8B]{vcl240.bpl } Vcl.Controls.TWinControl.IsControlMouseMsg (Line 9906, "Vcl.Controls.pas" + 1) + $9 [50AA867D]{vcl240.bpl } Vcl.Controls.TWinControl.WndProc (Line 10143, "Vcl.Controls.pas" + 158) + $6 [50AA7C9C]{vcl240.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 9850, "Vcl.Controls.pas" + 3) + $6 [50170DFC]{rtl240.bpl } System.Classes.StdWndProc (Line 17187, "System.Classes.pas" + ? + $0 [50BF0155]{vcl240.bpl } Vcl.Forms.TApplication.CancelHint (Line 11363, "Vcl.Forms.pas" + 6) + $D [50BEEDE7]{vcl240.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 10534, "Vcl.Forms.pas" + 23) + $1 [50BEEE2A]{vcl240.bpl } Vcl.Forms.TApplication.HandleMessage (Line 10564, "Vcl.Forms.pas" + 1) + $4 [50BEF15D]{vcl240.bpl } Vcl.Forms.TApplication.Run (Line 10702, "Vcl.Forms.pas" + 26) + $3
-
при попытке открыть стиль для Андроида вылезает ошибка
-
Может надо заполнить поле Platform? Form1.StyleBook1.Styles[0].Platform
-
Нет у меня такого. Посмотрите, если не трудно. Файл в приложении mystyle.zip
-
Я имею в виду в рантайме
-
Может после внесения изменений в стиль его нужно как-то сохранить?
-
У меня один стиль для всех платформ. Скрин приложил
-
Так, одно и тоже приложение, естественно стиль подключен и структура элементов такая же. Сам стиль прекрасно отрабатывает, не удается именно поменять элемент в рантайме.
-
Доброго времени суток. Столкнулся вот с какой задачей. В этой ветке достаточно много примеров доступа к элементам стиля. Примерно так это работает AObject := Form1.StyleBook1.Style.FindStyleResource('backgroundstyle'); if (AObject is TRectangle) then TRectangle(AObject).Fill.Color := strtoint(node.GetAttribute('BackgroundColor')); Form1.StyleLookup := 'backgroundstyle'; НО!!! Такой подход работает только для Винды. Под Андроидом ничего не происходит, цвет не меняется. Ответа пока не нашел, если у кого есть идеи, с удовольствием выслушаю! Заранее спасибо!