Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Access Violation en WebBrowser (https://www.clubdelphi.com/foros/showthread.php?t=87904)

newtron 16-03-2015 10:50:00

Access Violation en WebBrowser
 
Hola a tod@s.

Sigo con el tema de la facturación electrónica pero como esto está ya relacionado con el envío del archivo he creado un hilo nuevo.

Una vez creado el fichero XML de la factura y firmado hay que enviarlo por la página web del ministerio y se me ha ocurrido la feliz idea de intentar hacerlo con un webbrowser para agilizar la operación un poco poniendo por defecto el correo electrónico y el archivo a enviar y que el usuario solo tenga que pulsar en el botón de "Validar". Fijandome en otros hilos he montado este par de líneas para hacer una prueba.

Empiezo poniendo este código:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
Var
   ovElemento: OleVariant;
begin
  // Cargo pagina
  WebBrowser1.Navigate('https://face.gob.es/es/remitir-factura');
  // Espero a que esté totalmente cargada
  while webBrowser1.ReadyState < READYSTATE_INTERACTIVE do Application.ProcessMessages;
  ovElemento := WebBrowser1.OleObject.Document.forms.item(0).elements;
  ovElemento.item(0).value:='correoelectronico';
end;

Pero en la primera línea que hace referencia a "ovElemento" me da un access violation.

¿Qué se me escapa?

Gracias y un saludo.

newtron 19-03-2015 09:38:09

cri...cri...cri...cri..... (grillos) :D

Ñuño Martínez 19-03-2015 10:55:26

En lugar de usar el WebBrowser para enviar un archivo (si no entendí mal, sólo es para eso, ¿no?), prueba a usar Synapse. No son componentes visuales, pero funcionan bien, y si no necesitas más es más ligero que Indy y JEDI. Tendrías que construir la petición GET a mano, pero no es complicado.

newtron 19-03-2015 10:59:24

Cita:

Empezado por Ñuño Martínez (Mensaje 490149)
En lugar de usar el WebBrowser para enviar un archivo (si no entendí mal, sólo es para eso, ¿no?), prueba a usar Synapse. No son componentes visuales, pero funcionan bien, y si no necesitas más es más ligero que Indy y JEDI. Tendrías que construir la petición GET a mano, pero no es complicado.

La idea es que la página pide un dato y seleccionar un archivo y yo preguntaba si es posible llamar a esa página desde delphi con esos datos ya incluidos.


La franja horaria es GMT +2. Ahora son las 07:59:32.

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