![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Estimado Dec:
He hecho las pruebas con el THistorialUrls y el resultado fue el siguiente en una maquina con W2003 correcto. en una maquina con W2000 casi correcto porque inexplicablemente me utilizaba mucho el cpu,,, le di mas tiempo al timer y andaba mejor... pero igual mal, pase entonces la actualizacion de datos a un hilo de baja prioridad y quedo todo correcto... (Ojo: igual no pude encontrar el problema de lentitud, quizas algo de las cosas inexplicables que pasan en una maquina y en otras anda bien) WinXp: Correcto En resumen!! es LO QUE NECESITO!!! MIL GRACIAS DEC! Una consulta: el codigo del componente veo que es muy claro y prolijo, pero me quedan dudas conceptuales, veo que para la obtencion de los datos en UHistorialUrls se utiliza DDE (TDDEClientConv de la unitDdeMan) y con eso hace un DDE.RequestData(rsRequestData) . Bueno mi pregunta importantisima!! es que es DDE y como obtienes los datos con esto tan simple!!? podrias explicar la obtencion de datos en el metodo ObtenerDatos?? y como funciona ese excelente Case de dicho metodo?!! Gracias!!! |
|
#2
|
||||
|
||||
|
Hola,
Bueno. Me temo que en poco puedo serte de ayuda en este caso Kanvictor. Lo cierto es que me limité a copiar y pegar el código fuente que el compañero jorodgar planteo en este Hilo hace ya tiempo. Adapté un poco el código fuente, pero, yo también me pregunté entonces de dónde demonios salía el objeto "TDDEClientConv", que es el que se utiliza en el componente. El caso es que me lo pregunté, pero, no fui más allá, es decir, no puedo ayudarte porque yo tampoco comprendo muy bien con qué estamos tratando, esa es la verdad. Sin embargo, he echado un vistazo a la ayuda de Delphi, y, aunque no he querido profundizar mucho más, a lo menos puede verse que dicho objeto (y otros relacionados) están documentados en la ayuda. Entonces, ¿te estoy diciendo que eches tú mismo un vistazo a la ayuda para averiguar de dónde sale el objeto de que hablamos y cómo es que podemos utilizarlo para estos menesteres que nos ocupan? Pues así es la verdad. Es decir, partimos de la base de que ninguno de los dos sabemos con qué estamos tratando. ¡Así que bien podrías ser tú el que me aclarara a mí las cosas! ![]() No vayas a pensar que quiero pasar del tema, que no es eso, de veras. Lo que pasa es que para mí esto es tan nuevo como para ti, y tendría que comenzar por aprender qué demonios significan las siglas "DDE"... En Google aparecen algunos resultados que no he mirado, pero, que ahí están. Buscando por DDE, por supuesto. Grosso modo parece tratarse de una forma de comunicación entre distintas aplicaciones. De hecho, el componente "THistorialUrls" lo que hace es "comunicarse" con las ventanas de los distintos navegadores y, a partir de ahí, localizar lo que nos interesa: la URL "activa" en el navegador y también el título de la ventana, que a su vez es el título de la página Web que esté visitándose en el momento en que miramos por él. Pero no sabría ir más allá y lo cierto es que no es cuestión de decirte, ah, pues sí, mira, esto funciona así y asao... no es eso. Tendría, como he dicho, que ponerme a investigar, y, se ve que no tengo muchas ganas de hacerlo y no sé cómo decirlo de un modo que no parezca demasiado mezquino por mi parte... Creo que echando un vistazo a los resultados de Google (que he enlazado más arriba) así como en la ayuda de Delphi (puesto que parece que dichos objetos están documentados) podría llegarse a la certeza de conocer qué hacen exactamente esos objetos, qué significan realmente las siglas "DDE", etc., etc., etc. Pero, me temo que esto va a quedar por tu cuenta Kanvictor... y espero que no te moleste mi franqueza, que a lo menos viene acompañada de sinceridad. Lamento no poder decirte más, a lo menos hoy por hoy, porque, como he dicho, estoy tan perdido en estos temas como puedas estarlo tú mismo. ![]() PD. En cuanto al "case" a que te refieres... bueno. Lo cierto es del objeto "TDDEClientConv" (que parece significar Cliente DDE para conversaciones -con servidores DDE y tal vez con otros clientes DDE) no hacemos uso sino de su método "SetLink". Así, el "case" lo que hace es averiguar sobre qué navegador queremos trabajar, esto es, con qué navegador tenemos que "conversar" mendiante el objeto susomentado. Según la ayuda de Delphi para dicho método "SetLink": Cita:
Con eso parece ser que establecemos una comunicación con "FireFox" (por ejemplo) solicitándole información sobre la ventana del programa. Veamos un poco de código del "case" al que has hecho referencia:
La secuencia sería más o menos esta: ¿Es FireFox el navegador del que queremos averiguar información? En ese caso, establezcamos un "enlace DDE" con el programa FireFox y solicitémosle información acerca de su ventana (como queda dicho). El método "SetLink" devolverá "False" si hay algún problema, así que, en caso de que devuelva "True" lo que hacemos es utilizar la "respuesta" de la aplicación con la que estamos conversando: "DDE.RequestData". Este último método "RequestData" requiere de una constante,... que no sé bien de dónde sale (recuerda que me limité en su día a copiar el código fuente del compañero susomentado), y es "0xFFFFFFFF", aunque yo la "guardo" en una variable un poco más "agradable", que, como puede verse, es "rsRequestData". Bien. Una vez tenemos la respuesta de la aplicación con la que estamos conversando, lo que tenemos que hacer es "parsear" la respuesta, puesto que lo que nos interesa nos llega un poco "sucio". Para eso utilizamos el método "SepararDatos" de "mi componente", quien básicamente hace lo que digo, separar el polvo de la paja y ofrecernos la URL que estamos buscando y el título de la ventana (página Web que el usuario esté visitando). Pero,... como ves, no sé mucho más que tú sobre "DDE" y las posibles "conversaciones" que podemos lograr mediante este "sistema" con otras aplicaciones. Creo que me estoy liando demasiado, así que lo dejo aquí, porque, me temo que he sido demasiado prolijo y tendré suerte si has llegado a leer hasta aquí sin pensar alguna vez, qué pesado el tío este, hay que ver que se enrrolla más que las persianas... ![]() PD. En este resultado de la búsqueda en Google que antes he mencioando, podemos ver al menos una defición de las siglas "DDE": Cita:
Última edición por dec fecha: 11-08-2006 a las 15:47:40. |
|
#3
|
||||
|
||||
|
Gracias por tu respuesta Dec, y como me voy a meter mas en el tema seguramente que voy a aclarar varias cuestiones, las cuales obviamente voy a postear como para que todos aprendamos mas de esto, nunca se sabe quien lo puede llegar a necesitar, nuevamente mil gracias por tus respuestas y el tiempo dedicado!!
PD: CLARO QUE LO LEI COMPLETO todo sirve para ir aclarando mas las cosas! Saludos! |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Capturar Excepciones | clanmilano | Varios | 36 | 06-11-2015 20:16:06 |
| Capturar Evento | piccolo2101 | Varios | 4 | 27-10-2005 16:56:35 |
| Capturar errores | Mauricio_M | Firebird e Interbase | 6 | 18-10-2005 21:28:04 |
| Capturar errores | Mauricio_M | Firebird e Interbase | 2 | 14-10-2005 01:50:45 |
| Capturar pantalla | pablo | Varios | 1 | 07-09-2004 20:15:10 |
|