FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
¿Detectar HTTP 404 (página no encontrada) en un TWebBrowser?
Hola amigos,
Nuevamente, me veo en un problema =) Y eso es lo entretenido de este mundo de la programación, se soluciona uno pero llega otro :=) Bueno... el problema de fondo es que no logro detectar en el TWebBrowser cuando la página especificada en el método Navigate no existe (error 404). Cuando pruebo las propiedades LocationURL y LocationName sólo muestra la URL anterior especificada en Navigate, no la URL o el archivo donde es redireccionado el navegador cuando se genera el HTTP 404. He probado todos los Eventos con estas propiedades y no logro obtener lo que necesito. Como el TWebBrowser está basado completamente en Internet Explorer, supongo que debe existir un método para detectar esto desde Delphi. Estuve investigando en Google acerca de esto y sólo tengo dos posibles pistas, que son la función QueryStatusWB y la variante OleObject del TWebBrowser, cuya ayuda en Delphi dice lo siquiente (QueryStatusWB): Código:
Returns information about what commands the Web browser supports. Delphi syntax: function QueryStatusWB(cmdID: OLECMDID): OLECMDF; Description Use QueryStatusWB to determine what commands can be executed using the ExecWB method. QueryStatusWB uses the QueryStatus method of the IOleCommandTarget interface to obtain information about the status of commands. For more information, see the Microsoft documentation of IOleCommandTarget. cmdID specifies the command about which you want information. QueryStatusWB returns a value made by adding together flags that indicate the status of the command. ¿Alguien me puede echar una manito =)? De antemano, muchas gracias y saludos. Última edición por Black_Ocean fecha: 06-06-2008 a las 00:33:09. |
#2
|
||||
|
||||
Usa el evento NavigateError del WebBrowser:
Sólo hay un pequeño problema. Al menos en Delphi 7, el TWebBrowser no tiene este evento No estoy seguro, pero al parecer este evento apareció en IE6 y supongo que Delphi7 es anterior por lo que al importar el control ActiveX no lo publica. Lo que he hecho es instalar manualmente el control ActiveX yendo al menú Component|Import ActiveX Control. En la lista buscas "Microsoft Internet Controls" e instalas el control. En la paleta ActiveX me aparecieron dos controles: WebBrowser_V1 y WebBrowser. El bueno es el WebBrowser y ése ya trae el evento NavigateError. // Saludos |
#3
|
||||
|
||||
Muchas gracias estimado roman, ya he solucionado el asunto gracias a ti. Era justamente lo que necesitaba. Toda tu explicación es correcta y justamente como acabo de leer en Internet ese evento no viene en el WebBrowser de Delphi 7 porque la librería SHDocVw que usaba no estaba implementada en ese tiempo.
Cordiales saludos y nuevamente, gracias colega :=) |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Curiosidad Encontrada > TPhotoUploadCtl | MaMu | Internet | 0 | 15-04-2008 08:41:55 |
Evitar mensaje error ¡DLL no encontrada! | soypincharata | Varios | 2 | 02-05-2007 04:32:08 |
TWebBrowser saber cuando se cargo la pagina | ivan022481 | Internet | 13 | 19-06-2006 22:36:42 |
TWebBrowser - Error al cerrar la página mediante un botón | pepsi | Internet | 2 | 02-05-2006 16:59:05 |
Subir fichero a pagina Web via HTTP usando un script php | jmoran | Internet | 0 | 11-07-2003 12:44:11 |
|