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

Лидеры

  1. Fedor K

    Fedor K

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


    • Баллы

      2

    • Постов

      55


  2. Mars M

    Mars M

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


    • Баллы

      2

    • Постов

      63


  3. ENERGY

    ENERGY

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


    • Баллы

      1

    • Постов

      568


  4. Ingalime

    Ingalime

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


    • Баллы

      1

    • Постов

      354


Популярный контент

Показан контент с высокой репутацией 04.06.2017 во всех областях

  1. Mars M

    Перемещение 3D объектов

    Вот тут есть пример где объект перемещается в позицию клика мыши.
    2 балла
  2. Причина такого поведения довольно простая - java библиотеки FMX часто передают в Delphi только уведомление о событии, без непосредственного влияния на процесс. Открываем библиотеку fmx.jar и смотрим код класса WebClient (package com.embarcadero.firemonkey.webbrowser;): public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { super.onReceivedSslError(view, handler, error);// обработка ошибки происходит здесь по дефолту if (this.mListener != null) { this.mListener.onReceivedSslError(view, handler, error);//передача в Delphi лишь уведомления, что событие произошло } } Одно из решений*: 1. Заменяем** код на: public void onReceivedSslError(WebView paramWebView, SslErrorHandler paramSslErrorHandler, SslError paramSslError) { if (this.mListener != null) { this.mListener.onReceivedSslError(paramWebView, paramSslErrorHandler, paramSslError);//Delphi обработчик } else { super.onReceivedSslError(paramWebView, paramSslErrorHandler, paramSslError);//обработчик по умолчанию } } После манипуляций получаем свою версию библиотеки, мой пример здесь (Delphi Berlin). 2. Подключаем библиотеку к проекту (скриншот ниже). 3. Копируем unit FMX.WebBrowser.Android в папку своего проекта и меняем следующие строки: procedure TAndroidWebBrowserService.TWebBrowserListener.onReceivedSslError( P1: JWebView; P2: JSslErrorHandler; P3: JSslError); begin P2.proceed;//добавляем разрешение для истекших сертификатов FWBService.FailLoadingWithError;//стандартный обработчик OnDidFailLoadWithError end; *Если вариант изменения кода java библиотек совсем не подходит, можно реализовать все средствами Delphi. Для этого создаем свою реализация класса WebViewClient (или WebClient) и задаем его для JWebBrowser: //все тот же unit FMX.WebBrowser.Android; procedure TAndroidWebBrowserService.InitUIThread; var lClient : TWebBrowserCLientFix;//наш класс begin FJWebBrowser := TJWebBrowser.JavaClass.init(TAndroidHelper.Activity); FJWebBrowser.getSettings.setJavaScriptEnabled(True); lClient := TWebBrowserCLientFix.Create(Self); FJWebBrowser.setWebViewClient(lClient);//меняем на наш класс FListener := TWebBrowserListener.Create(Self); lClient.SetWebViewListener(FListener); //комментируем //FJWebBrowser.SetWebViewListener(FListener); **Замена кода происходит по тому же сценарию, как и создание своих собственных классов на java. Если кому потребуется помощь - пишите, я помогу ответами и примером.
    2 балла
  3. Избавление от фонтомных пушей - замена посылки пуша с get на post. Соотвественно изменение php сервера. Решение подсказано Fedor K.
    1 балл
  4. ENERGY

    Перемещение 3D объектов

    Вот здесь посмотрите https://github.com/FMXExpress/Firemonkey/tree/master/Embarcadero/XE6/ObjectPascal/Cubes
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...