Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿No funciona el componente "TWebBrowser" en Delphi 64 bits? (https://www.clubdelphi.com/foros/showthread.php?t=90842)

dec 15-09-2016 00:16:05

¿No funciona el componente "TWebBrowser" en Delphi 64 bits?
 
Hola a todos,

No sé bien si el título está bien puesto o debería haber sido, ¿No funciona el componente "TWebBrowser" en Windows 64 bits? He comenzado hoy a migrar a Windows 64 bits, y, lo primero que he hecho ha sido instalar "mis Delphis". Lo cierto es que todo ha ido mucho mejor de lo que yo pensaba, de hecho ya he conseguido que todo mi software compile en dicha versión de Windows. Estupendo.

Sin embargo, uno quiere ir un poco más allá, y, mi objetivo a medio plazo es que mis programas cuenten con una versión de 64 bits. Seguramente me tope con muchos problemas (ojalá pase como con la migración, que han sidho menos de los esperados y todos más o menos sencillos) y de hecho ya me he encontrado con el primero: el componente "TWebBrowser" no parece funcionar en Delphi/Windows 64 bits.

Para más inri ocurre que en la versión de Delphi que uso (XE2) no funciona el depurador para la plataforma Delphi 64, de modo que sólo puedo "lanzar" el programa, y, Windows se limita a mostrar un mensaje que no dice nada más que "El proyecto dejó de funcionar"... Pero depurando en la plataform Delphi 32 no hay ningún problema, al menos ninguno que haya podido ver hasta ahora.

Todavía se pone peor la cosa si uno busca información en Internet, porque, no he sido capaz de encontrar demasiada, y, la que aparece, por ejemplo, este reporte en el sitio de Embarcadero, no aporta una solución, o, la que aporta yo no la comprendo bien. Otras respuestas van por parecidos derroteros, y, yo también, o sea, que trato de aplicar la solución pero no parece surtir efecto alguno.

¿Alguno de vosotros tiene al componente "TWebBrowser" funcionando en Delphi/Windows 64? En realidad me interesa más el componente "EmbeddedWB", pero, doy por echo que este funcionará (falla igual) si lo hace el primero... en el que al fin y al cabo se basa. Os agradezco de antemano las posibles respuestas. Seguramente encontraré muchos otros problemas migrando mis programas, pero, este no está mal para empezar. :o

¡Gracias a todos! :)

Reasen 15-09-2016 12:18:52

¿Has probado de ejecutar la aplicación compilada en otro ordenador? Seguramente se arregle si usas una versión de Delphi superior ya que hasta tiene un reporte.

Yo también le estoy dando vueltas a lo de migrar mis aplicaciones a 64 bits pero no estoy seguro... ¿Muchos clientes se verían afectados por ese cambio? ¿Cuánta gente sigue usando un PC de 32 bits?

Saludos.

olbeup 15-09-2016 13:34:35

Hola dec,

Trabajo en Delphi 7 con Windows 8.0 64Bit

En mi equipo funciona el TWebBrower de 64Bit pero en los demas equipo que tengo en la empresa que también son de 64Bit no me funciona, he probado también con el TAcroPDF y tampoco funciona, se queda la pantalla en negro cuando le paso un pdf tanto a uno como al otro.

He pegado el componente y también lo he creado en tiempo de real y, ni por esas.

Pues después de tantas prueba que hecho y me he roto la cabeza, he descubierto que cuando se ejecuta la aplicación como Administrador ya no funciona y, si se ejecuta normal funciona en todos los ordenadores que antes no funcionaba.

¿Como puede ser que cuando tiene permiso de Administrador no funciona? y cuando se ejecuta normal funcione perfectamente.

Habra que investigar, pero eso ya se los dejo a los expertos.

Un saludo.

olbeup 15-09-2016 13:47:34

El código que he creado para hacer las prueba para cargar un PDF:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  AFileName: WideString;
begin
  AFileName := '';
  with TOpenDialog.Create(Self) do
    if Execute then
      AFileName := FileName;

  if (AFileName <> '') then
  begin
    WebBrowser := TWebBrowser.Create(Self);
      TWinControl(WebBrowser).Parent := GroupBox1;
      WebBrowser.Align := alClient;
      WebBrowser.Navigate('file://' + AFileName);
  end;
end;
y para liberar el componenete
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
begin
  if Assigned(WebBrowser) then
    WebBrowser.Stop;
  FreeAndNil(WebBrowser);
  Close;
end;
Un saludo.

dec 15-09-2016 14:35:41

Hola a todos,

Muchísimas gracias por vuestras respuestas.

Cita:

Empezado por Reasen (Mensaje 508808)
¿Has probado de ejecutar la aplicación compilada en otro ordenador? Seguramente se arregle si usas una versión de Delphi superior ya que hasta tiene un reporte.

Yo también le estoy dando vueltas a lo de migrar mis aplicaciones a 64 bits pero no estoy seguro... ¿Muchos clientes se verían afectados por ese cambio? ¿Cuánta gente sigue usando un PC de 32 bits?

Saludos.

Yo creo que debemos partir de la base de conseguir una sola base de código para ambas plataformas, de este modo, los clientes interesados podrán usar la versión del programa que mejor les convenga. Personalmente, hasta ayer usaba un PC de 32 bits tan contento. Pero es verdad, yo andaba bastante desactualizado. Hace poco cambié de ordenador, y, ahí me dí cuenta de que Win32 no aprovechaba toda la memoria RAM instalada: sólo por este motivo seguramente Win32 sea cada vez menos usado. Afortunadamente la migración, al menos de momento, no ha podido resultar más sencilla.


Cita:

Empezado por olbeup (Mensaje 508812)
Hola dec,

Trabajo en Delphi 7 con Windows 8.0 64Bit

En mi equipo funciona el TWebBrower de 64Bit pero en los demas equipo que tengo en la empresa que también son de 64Bit no me funciona, he probado también con el TAcroPDF y tampoco funciona, se queda la pantalla en negro cuando le paso un pdf tanto a uno como al otro.

He pegado el componente y también lo he creado en tiempo de real y, ni por esas.

Pues después de tantas prueba que hecho y me he roto la cabeza, he descubierto que cuando se ejecuta la aplicación como Administrador ya no funciona y, si se ejecuta normal funciona en todos los ordenadores que antes no funcionaba.

¿Como puede ser que cuando tiene permiso de Administrador no funciona? y cuando se ejecuta normal funcione perfectamente.

Habra que investigar, pero eso ya se los dejo a los expertos.

Un saludo.

En efecto, hay que investigar, pero, ¡te agradezco mucho tu respuesta! Ciertamente la aplicación parece funcionar si no se ejecuta con derechos de administrador. En principio a mí esto no me preocupa pues ninguno de mis programas necesita tal cosa. ¿Qué pasó ayer? Pues que estaba instalando "mis Delphis" y lo hacía con derechos de administrador, puesto que hay que tratar con directorios del sistema. Pero ahora he probado ya sin derechos de administrador y parece que funciona, de momento.

De veras que os agradezco vuestras respuestas. :)

dec 15-09-2016 14:53:03

Hola a todos,

Probando uno de mis programas en la plataforma Delphi 64 este compila, pero, nada más ejecutarse se produce una violación de acceso y el programa se cierra. Claro, es imposible trabajar sin depurador. Sería tal vez cuestión de revisar todo el código (incluyendo el de terceros) en busca de los posibles problemas que se mencionan en cierta guía de migración de Embarcadero, pero, mucho me temo que sin depurador esto resultaría demasiado engorroso.

Así pues parece que no queda más remedio que actualizar Delphi.


La franja horaria es GMT +2. Ahora son las 13:48:40.

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