![]() |
![]() |
| 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
|
||||
|
||||
|
Si la aplicación se "congela" vas a tener que usar anticongelante
Y no estoy bromeando, entre los componentes Indy encontraras uno que se llama TIdAntiFreeze, colocalo sobre tu formulario y la aplicación ya no se congelara, y el código de dec debería de funcionar. |
|
#2
|
||||
|
||||
|
haha, en un principio pensé que estaba bromeando Seoane pero luego me di cuenta que no xD
Ahora con el código de Dec si que devería funcionar, pero no lo hace :S Acabo de probar el antifreeze y dio buenos resultados por que ya no se queda así como congelado el form, pero igual me gustaría mucho que se pueda ver que tiempo tardará, y que el usuario vea el lindo ProgressBar avanzar leeeentamente miestras va por un vaso de agua ![]() Como podrán ver tengo bién mi código, pero no he logrado hacerlo funcionar, alguna idea ? PD Seone por cierto he visitado tu blog o web xD y esta interesante, aunque me haya gustado comentar, pero no podía, saludos y suerte ![]() |
|
#3
|
||||
|
||||
|
Hola,
Bueno. Pues no sé. Si te fijas en el ejemplo que puse más arriba, mientras está descargándose el archivo todo "fluye" más o menos como se espera. Las barras de progreso se mueven como se espera y la interfaz de la aplicación no se congela. Sin embargo, haciendo unas pruebas, he hecho que el archivo que descargamos se guarde en disco y verás. Mientras descargamos el archivo todo sigue yendo bien. Sin embargo, cuando se ha terminado de descargar el archivo y este va a ser escrito... (¿cerrado? ¿comprobado?) en el disco... son pocos segundos, uno o dos, pero, la aplicación se congela, efectivamente. ¿Y para qué demonios digo todo esto? Pues porque me parece que acaso el mismo "HTTP POST" congele la interfaz de la aplicación, es decir, al fin y al cabo no estamos tratando con muchos bytes, supongo, es decir, que no ocurre como con el ejemplo que puse más arriba, que mientras se están descargando bytes va bien, pero, justo al terminar... la aplicación se congela. No he probado el componente "IdAntiFreeze" (aunque lo conocía) y quizás esto solucionara el tema, empero, para mí que es algo que va un poco más allá, y que en el caso de un "HTTP POST" y acaso también dependiendo del tiempo de respuesta del Servidor que sea, la aplicación va a terminar congelándose más o menos... Claro que nada de esto es una solución... pero, chico, ahora mismo no se me ocurre otra cosa que levantar este Hilo arriba del todo a ver si otro compañero se atreve con otra respuesta más oportuna que esta. ![]() |
|
#4
|
||||
|
||||
|
Hola:
Dec si, ya he visto y probado tu aplicación y todo anda perfecto, no necesita un anticongelante ni nada, todo lo muestra en el progresBar o el gauge, que se mueven a la par con la descarga, pero en mi caso no, no se por que, pero no quiere mostrar nada, el HTTP POST que tengo, lo tengo dentro de un bucle, pero como dije antetiormente, no creo que afecte en nada el código, pues el que hace el trabajo ahi es el idHTTP, Dec no se si será el problema mio o que sera, pero si tienes tiempo o alguien mas quisiera probarlo aquí les dejo un código con el cual rellenar un formulario por http POST el formulario es este, es algo simple, pero que pienso que servirá a mas de uno. http://tekkenbolivia.net/archivos/ph...ar_noticia.php Ahora puden ver el código fuente y sacar los nombres de las variables que tenemos en nuestro envia_noticias.php como habrán podido ver. Y aquí les dejo el código en delphi que se encarga de llenar los datos
para poder visualizar las noticias aqui. http://tekkenbolivia.net/archivos/ph...cia_puesta.php Bueno, ese no es mi código, pero el otro la única diferencia es que hace un POST a google y busca una palabra, pero en un bucle, una especie de robot google, pero mientras está buscando en google no muestra en el progresbar que tanto ya buscó, si quieren les pongo el código fuente. saludos y gracias por las respuestas Dec |
|
#5
|
||||
|
||||
|
¿Donde asignas los eventos (IdHTTPWorkBegin, IdHTTPWork, IdHTTPWorkEnd) al objeto TidHttp?
![]() |
|
#6
|
||||
|
||||
|
Si, en los eventos del componente idHTTP, no es ahí donde devería asignarlos ??
Así me lo ha explicado Dec, y así lo tiene en si adjunto. también ya puse el código con anterioridad de como lo hago, pero lo pongo de nuevo.
En este caso estoy usando un ProgressBar y un Gauge, pero ninguno se mueve. Lo estoy haciendo mal seoane ? he entendido mal ? ![]() saludos ![]() |
|
#7
|
||||
|
||||
|
Hola,
Seoane te lo preguntaba porque en el código que has puesto más arriba:
... estás creando el objeto "http" pero no estás asignándole luego a los eventos oportunos los métodos que se han de hacer cargo de los mismos... Es decir, fijo que tú tienes un componente "IdHttp" en el formulario, para el cual preparas los eventos (ayudándote del Inspector de Objetos de Delphi), pero, a la hora de la verdad (al menos en el código que muestras) usas otro objeto ("http") y no el que se crea porque lo añadiste al formulario en tiempo de diseño... ¿se comprende la idea? ![]() Si fuera esto tienes dos opciones: o bien utilizar el objeto "IdHttp" que añades en tiempo de diseño al formulario (y para el que preparas los eventos correspondientes), o bien al componente que creas tú mismo en tiempo de ejecución le asignas los métodos correspondientes a los eventos que quieres utilizar. Algo así:
Última edición por dec fecha: 23-04-2007 a las 21:51:08. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Ajax.class.js - Sencilla forma de hacer peticiones HTTP en segundo plano | dec | PHP | 10 | 11-01-2007 03:50:49 |
| Librería para hacer peticiones HTTP para delphi 5 | rlago | Internet | 3 | 06-11-2006 10:28:18 |
| mandar un post http con idHTTP | hidal | C++ Builder | 6 | 16-08-2006 01:02:57 |
| IBDatase Insert Post Edit Post | ariefez | Firebird e Interbase | 4 | 12-10-2005 01:53:04 |
| Como hacer petición HTTP | Bauhaus1975 | Varios | 2 | 13-06-2005 21:12:38 |
|