Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-05-2006
Avatar de ivan022481
ivan022481 ivan022481 is offline
Miembro
 
Registrado: abr 2006
Posts: 25
Poder: 0
ivan022481 Va por buen camino
TWebBrowser saber cuando se cargo la pagina

Hola a todos, desde antemano gracias por la lectura de mi problema que paso a describir: estoy haciendo una aplicacion la cual carga en un TWebBrowser una pagina 'X', una vez cargada, se extrae en un TRichEdit el codigo fuente de la misma, una vez extraido, la aplicacion tiene que buscar otra pagina, una vez que se cargo a toda, volver a bajar el codigo fuente de la misma, esta operacion de que cuando termina de bajar la controlo con el evento OnDownloadComplete del TWebBrowser, que tiene un detalle, cuando la pagina contiene marcos (o frames) se ejecuta este evento tantas veces la pagina contenga marcos y mientras se cargan los frames la pagina no termina de descargarse completa en el tWebBrowser, y a todo esto se genera un error. Lo que necesitaria sabes es como hacer para detectar cuando se cargo la pagina con sus marcos y una vez cargada la misma. Desde ya muchas gracias.
Responder Con Cita
  #2  
Antiguo 05-05-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
En la ayuda de Delphi viene un ejemplo que explica esto. Según entiendo, básicaente tienes que jugar con NavigateComplete y DocumentComplete. En NavigateComplete guardas una referencia al parámetro IDispatch que pasa y cada vez que recibes el evento DocumentComplete comparas la referencia con el propio parámetro IDispatch de DocumentComplete. Según el ejemplo, sólo coincidirán cuando DocumentComplete se lance porque ya se cargaron todos los marcos.

// Saludos
Responder Con Cita
  #3  
Antiguo 14-05-2006
BadB0Y BadB0Y is offline
Registrado
 
Registrado: may 2006
Posts: 1
Poder: 0
BadB0Y Va por buen camino
Wink

Creo que este enlace te puede servir:

http://www.marteens.com/trick52.htm



saludos
Responder Con Cita
  #4  
Antiguo 14-05-2006
Avatar de ivan022481
ivan022481 ivan022481 is offline
Miembro
 
Registrado: abr 2006
Posts: 25
Poder: 0
ivan022481 Va por buen camino
Si, gracias, de echo, desde ese ejemplo descubri que el lio viene de los frames, pero lamentablemente no me sirvio mucho, por ahora lo que estoy haciendo es una pausa en la ejecucion de un procedimento "CargarPagina" creado "a mano" , la pausa es de unos 3 segundos y asi cargo la pagina, si encuentro algo mejor lo posteo aca, gracias.
Responder Con Cita
  #5  
Antiguo 14-05-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Y qué pasó con la sugerencia que te pasé? ¿No valió ni un comentario?
Responder Con Cita
  #6  
Antiguo 15-05-2006
Avatar de mazinger
mazinger mazinger is offline
Miembro
 
Registrado: jul 2004
Ubicación: Zamora
Posts: 85
Poder: 20
mazinger Va por buen camino
El siguiente código te permite saber cuando se termina de cargar totalment un página:


Código Delphi [-]
procedure TForm1.NavegadorDocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin

  if (pDisp = CurDispatch) then
  begin
    CurDispatch := nil; {clear the global variable }
  end;

end;


procedure TForm1.NavegadorNavigateComplete2(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
  if CurDispatch = nil then
    CurDispatch := pDisp;
end;
__________________
Visita mi página (en construcción):

http://mazinger.wordpress.com/
Responder Con Cita
  #7  
Antiguo 15-05-2006
Avatar de ivan022481
ivan022481 ivan022481 is offline
Miembro
 
Registrado: abr 2006
Posts: 25
Poder: 0
ivan022481 Va por buen camino
Roman: lo implemente, pero se disparo varias veces y eso era lo que quiero evitar, por ahora implemente esa "solucion" obvio que no es la adecuada, sigo buscando la manera correcta, gracias por el interes.
Responder Con Cita
  #8  
Antiguo 15-05-2006
Avatar de mazinger
mazinger mazinger is offline
Miembro
 
Registrado: jul 2004
Ubicación: Zamora
Posts: 85
Poder: 20
mazinger Va por buen camino
Sigue buscando si quieres, pero la respuesta la tienes más arriba.
O bien no he entendido lo que necesitas...
__________________
Visita mi página (en construcción):

http://mazinger.wordpress.com/
Responder Con Cita
  #9  
Antiguo 16-05-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Y más arriba todavía ya que es el mismo código que viene en la ayuda de Delphi y que le indiqué desde un principio. Así que posiblemente la ayuda esté equivocada y no funcione la técnica. Veré si más tarde puedo probarlo.

// Saludos
Responder Con Cita
  #10  
Antiguo 18-05-2006
Avatar de mazinger
mazinger mazinger is offline
Miembro
 
Registrado: jul 2004
Ubicación: Zamora
Posts: 85
Poder: 20
mazinger Va por buen camino
Si que funciona, de hecho la utilizo en mi programa.
__________________
Visita mi página (en construcción):

http://mazinger.wordpress.com/
Responder Con Cita
  #11  
Antiguo 14-06-2006
Avatar de Insomne
Insomne Insomne is offline
Registrado
 
Registrado: jun 2006
Ubicación: Madrid
Posts: 4
Poder: 0
Insomne Va por buen camino
Hola

Tu pregunta es antigua, pero por ai acaso te mando un codigo del evento OnDocumentComplete que pille por ahi. Funciona con marcos tambien.
Un saludo.

Código Delphi [-]
procedure TForm1.Wb1DocumentComplete(Sender: TObject;
               const pDisp: IDispatch; var URL: OLEvariant);
var
  CurWebrowser : IWebBrowser;
  TopWebBrowser: IWebBrowser;
  Document     : OLEvariant;
  WindowName   : string;
begin { TForm1.WebBrowser1DocumentComplete }
  CurWebrowser := pDisp as IWebBrowser;
  TopWebBrowser := (Sender as TWebBrowser).DefaultInterface;
  if CurWebrowser=TopWebBrowser then
  begin
    ShowMessage('Document is complete.');
    FCambiandoDePag := FALSE;
  end
  else
  begin
    Document := CurWebrowser.Document;
    WindowName := Document.ParentWindow.Name;
    ShowMessage('Frame ' + WindowName + ' is loaded.')
  end;
end;
Responder Con Cita
  #12  
Antiguo 15-06-2006
Avatar de ivan022481
ivan022481 ivan022481 is offline
Miembro
 
Registrado: abr 2006
Posts: 25
Poder: 0
ivan022481 Va por buen camino
Muchas gracias, lo estoy probando
Responder Con Cita
  #13  
Antiguo 17-06-2006
vinagre3ro vinagre3ro is offline
Registrado
 
Registrado: jun 2006
Posts: 2
Poder: 0
vinagre3ro Va por buen camino
Ayuda...

Hola a todos, amigo, he leido tu pregunta y te agradeceria mucho, si me pudieras indicar como hacer para obtener el codigo fuente y guardarlo en memo o en un textricht soy nuevo con el webbrowser y no se donde lo guarda ni como obtenerlo te lo agradeceria mucho, gracias de antemano. adios.
Responder Con Cita
  #14  
Antiguo 19-06-2006
Avatar de Insomne
Insomne Insomne is offline
Registrado
 
Registrado: jun 2006
Ubicación: Madrid
Posts: 4
Poder: 0
Insomne Va por buen camino
guardar el codigo de una pagina

Hola

Código Delphi [-]
// para recuperar el contenido del body en un TMemo 
Memo1.Text := WebBrowser1.OleObject.Document.Body.InnerHTML;
 
// para recuperar el texto del documento en un TMemo
Memo1.Text := WebBrowser1.OleObject.Document.Body.InnerText;

un enlace bueno para investigaciones con el webbrowser:

http://www.cryer.co.uk/brian/index.htm

Un saludo

Última edición por dec fecha: 19-06-2006 a las 23:08:13.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TWebBrowser - Error al cerrar la página mediante un botón pepsi Internet 2 02-05-2006 16:59:05
Como saber cuando BD fue desconectada? Luis Alberto Conexión con bases de datos 2 24-01-2006 11:16:46
como saber cuando se abre una pagina de internet especifica gulder API de Windows 9 12-09-2005 15:37:33
Saber cuando se ejecuta EXPLORER.EXE marceloalegre Varios 5 06-06-2005 16:58:07
Cuando Activan la Pagina de Cadetill???? AGAG4 Varios 2 26-11-2004 21:23:51


La franja horaria es GMT +2. Ahora son las 01:47:21.


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
Copyright 1996-2007 Club Delphi