Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Chromium Embedded Framework (CEF )cambiar proxy en run time (https://www.clubdelphi.com/foros/showthread.php?t=92669)

Delphi01 24-12-2017 22:23:26

Chromium Embedded Framework (CEF )cambiar proxy en run time
 
Hola a todos los amantes del delphi y felices fiestas .
Soy nuevo en este tema de Chromium Embedded Framework y apensa sé pocas cosas hasta el momento , estoy utlizando CEF3 en delphi7 ,
mi duda es: Cómo cambiar el proxy ulizando cef3.
bueno , he buscando mucho por la red y he encontrado un código que esta en C++ en este http://www.magpcss.org/ceforum/viewt...hp?f=6&t=14560
Código:

// Set proxy
auto hostProcess = browser->GetHost();
auto requestContext = hostProcess->GetRequestContext();
CefString error;
auto proxyDictionary = CefDictionaryValue::Create();
proxyDictionary->SetString(L"mode", L"fixed_servers");
proxyDictionary->SetString(L"server", L"http://127.0.0.1:8080");
auto proxyValue = CefValue::Create();
proxyValue->SetDictionary(proxyDictionary);
if (!requestContext->SetPreference(L"proxy", proxyValue, error))
  wprintf(L"Can not set proxy. %ls\r\n", error.c_str());

Alguién puede ayudarme a escribirlo en delphi ?
y cómo puedo utilizarlo ?
Muchas gracias de corazón , yo sé que aqui hay grandes maestros del delphi ;)^\||/.

salvadordf 30-12-2017 14:03:17

Hola,

CEF4Delphi incluye el cambio de la configuración de servidores proxy en run time desde la primera versión pública y en una de sus demos llamada MiniBrowser puedes probarlo en su ventana de preferencias.

Si necesitas seguir usando DCEF3, échale un vistazo al código de TChromium en CEF4Delphi para copiarlo a tu proyecto pero si necesitas un componente desarrollado activamente te recomiendo que pases a CEF4Delphi.

Un saludo
Salvador Diaz

Delphi01 31-12-2017 00:42:31

Cita:

Empezado por salvadordf (Mensaje 523807)
Hola,

CEF4Delphi incluye el cambio de la configuración de servidores proxy en run time desde la primera versión pública y en una de sus demos llamada MiniBrowser puedes probarlo en su ventana de preferencias.

Si necesitas seguir usando DCEF3, échale un vistazo al código de TChromium en CEF4Delphi para copiarlo a tu proyecto pero si necesitas un componente desarrollado activamente te recomiendo que pases a CEF4Delphi.

Un saludo
Salvador Diaz

Hola, Salvador, antes de todo muchas gracias por contestar mi duda:).
Te comento que estoy utilizando delphi7 y DCEF versión 3.2454.1344.0 , en Windows 32 bits la cual que anda muy bien con delphi7, Antes había bajado tu versión CEFDelphi , y la instalé en Delphi7 pero por alguna razón desconocida de mi parte , no funcionó , me salen errores que faltan ficheros , y no había podido compilar los ejemplos que hay allí,:confused: ¿hay algunos pasos que tengo que seguir ? ¿Cuáles las carpetas o ficheros que deben acompañar el ejecutable en Delphi7? me gustaría que me ayudase con instalar CEFDelphi , porque viene con ejemplos y uno puede aprender más .

Aparte amigo mío , buscando por la red he encontrado esto:
Código:

procedure OnBeforeCommandLineProcessing(const processType: ustring;
const commandLine: ICefCommandLine);
begin
    commandLine.AppendSwitchWithValue('proxy-server', proxy);
end;

initialization
CefOnBeforeCommandLineProcessing := OnBeforeCommandLineProcessing;

Yo no soy muy avanzado con la programación pero me interesa el tema de CEF y me gustaría aprender ,
podrías explicarme el código arriba en cuando cómo utilizarlo y en qué evento puedo escribirlo en mi código, se necesita renicializar la aplicacion?
Muchas gracias otra vez, y felices fiestas.
Saludos cordiales.

salvadordf 31-12-2017 09:58:01

Hola :

Cita:

Empezado por Delphi01 (Mensaje 523822)
Te comento que estoy utilizando delphi7 y DCEF versión 3.2454.1344.0 , en Windows 32 bits la cual que anda muy bien con delphi7, Antes había bajado tu versión CEFDelphi , y la instalé en Delphi7 pero por alguna razón desconocida de mi parte , no funcionó , me salen errores que faltan ficheros , y no había podido compilar los ejemplos que hay allí,:confused: ¿hay algunos pasos que tengo que seguir ? ¿Cuáles las carpetas o ficheros que deben acompañar el ejecutable en Delphi7? me gustaría que me ayudase con instalar CEFDelphi , porque viene con ejemplos y uno puede aprender más .

No tengo permiso para poder poner enlaces en el foro. Entra en la sección de "Bibliotecas de código fuente" y busca el mensaje titulado "CEF4Delphi : añade Chromium a tu aplicación Delphi".

En el primer mensaje de ese hilo tienes un enlace a las instrucciones en español y a la página de GitHub donde puedes descargar la última version de CEF4Delphi.

Sigue las instrucciones de instalación para instalar el componente en Delphi 7.

Posteriormente necesitarás descargar los archivos binarios de CEF3 usados por CEF4Delphi. En tu caso, descarga la versión de 32 bit. Tienes el enlace a los archivos binarios de CEF3 en la página de GitHub y en la página de las instrucciones.

Es extremadamente importante que uses los archivos de CEF3 que se indican en GitHub o en la página de las instrucciones. CEF3 evoluciona muy rápidamente y se introducen cambios que pueden hacer que tu aplicación de errores.

Descomprime los archivos de CEF3 y copia todos los contenidos de las carpetas RELEASE y RESOURCES dentro de la carpeta BIN de CEF4Delphi. En la página de las instrucciones de instalación tienes una imagen de como quedan los archivos en caso de duda.

Cuando compiles la demo SimpleBrowser se creará el EXE dentro de la carpeta BIN, junto a los archivos de CEF3.

Con Delphi 7 solo podrás probar SimpleBrowser pero recuerda que puedes descargar la edición Starter de Delphi gratuita y legalmente desde la página web de embarcadero. Tienes el enlace en la página de las instrucciones y solo necesitas registrarte para que te envíen los datos de tu nueva licencia de usuario.

Cita:

Empezado por Delphi01 (Mensaje 523822)
Aparte amigo mío , buscando por la red he encontrado esto:
Código:

procedure OnBeforeCommandLineProcessing(const processType: ustring;
const commandLine: ICefCommandLine);
begin
    commandLine.AppendSwitchWithValue('proxy-server', proxy);
end;

initialization
CefOnBeforeCommandLineProcessing := OnBeforeCommandLineProcessing;

Yo no soy muy avanzado con la programación pero me interesa el tema de CEF y me gustaría aprender ,
podrías explicarme el código arriba en cuando cómo utilizarlo y en qué evento puedo escribirlo en mi código, se necesita renicializar la aplicacion?

Con ese método asignas un servidor proxy en el inicio de la aplicación y necesitarás reiniciarla para cambiarlo.

El método de configuración en "run time" es bastante más complejo pero ya está incluido en CEF4Delphi y solo tienes que asignar unas propiedades y llamar a una función para forzar la actualización de las preferencias.

¡Feliz año nuevo!
Salvador Díaz

Delphi01 31-12-2017 23:32:17

Hola,Salvador, Muchas gracias otra vez eres muy amable ,
Ahora voy por CEF4Delphi y a probar la , después miraré el tema del Proxy.
¡Feliz año nuevo!

Delphi01 12-03-2018 00:20:44

Hola, Muchas gracias probado con XE8 y funciona perfecto .


La franja horaria es GMT +2. Ahora son las 17:34:43.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi