Se me bloque el programa

01/06/2004 - 14:21 por sandra_soria81 | Informe spam
Bueno, pues sigo con mi aplicacion, os contare, estoy haciendo un
descargardor, para descargar archivos de forma directa, no tipo emule, ni
nada; Ya lo tengo avanzado, solo me faltan ponerlo bonito y una cosita que
me daba miedo pero ha llegado la hora de abordarlo, espero que me ayuden;
Vereis, mi aplicacion sdi, me abre una ventana u otra dependiendo de lo
que quiera descargar, un archivo concreto, todos los de una determinada
extension...etc; Me lo hace bien, pero cuando le doy a descargar, se me
bloquea hasta que acaba la descarga, por tanto no puedo hacer nada
mientras tanto; A que es debido??? Supongo que sera lo de los hilos, no???
No tengo ni idea de como funcionan los hilos, ni las funciones ni nada, si
es asi, me podeis guiar, hay alguna pagina???? Gracias por leerme, y si me
podeis ayudar decirme cualkier cosa, ke estoy muy perdida y cualkier cosa
me servira de orientacion;

Preguntas similare

Leer las respuestas

#1 Carlos Pérez
01/06/2004 - 15:24 | Informe spam
Está claro que la función que llamas para descargar no
regresa. Pero ¿realmente no regresa? Si te quedas
esperando un buen rato ... ¿te da un Time Out?.

La descripción del problema es un tanto genérica y sin un
trozo de código fuente o una descripción más concreta no
es posible saber más.

Un saludo

Bueno, pues sigo con mi aplicacion, os contare, estoy


haciendo un
descargardor, para descargar archivos de forma directa,


no tipo emule, ni
nada; Ya lo tengo avanzado, solo me faltan ponerlo bonito


y una cosita que
me daba miedo pero ha llegado la hora de abordarlo,


espero que me ayuden;
Vereis, mi aplicacion sdi, me abre una ventana u otra


dependiendo de lo
que quiera descargar, un archivo concreto, todos los de


una determinada
extension...etc; Me lo hace bien, pero cuando le doy a


descargar, se me
bloquea hasta que acaba la descarga, por tanto no puedo


hacer nada
mientras tanto; A que es debido??? Supongo que sera lo de


los hilos, no???
No tengo ni idea de como funcionan los hilos, ni las


funciones ni nada, si
es asi, me podeis guiar, hay alguna pagina???? Gracias


por leerme, y si me
podeis ayudar decirme cualkier cosa, ke estoy muy perdida


y cualkier cosa
me servira de orientacion;

.

Respuesta Responder a este mensaje
#2 sandra_soria81
01/06/2004 - 16:19 | Informe spam
Si, la aplicacion si regresa, y la descarga la hace perfecta, pero durante
el tiempo que esta haciendo la descarga permanece digamos bloqueado, no
puedo visualizar la ventana principal como seria mi intencion para ver la
evolucion de la descarga.
Respuesta Responder a este mensaje
#3 sandra_soria81
01/06/2004 - 16:33 | Informe spam
Para concretar más exactamente: Tengo un control por pestañas digamos en
la ventana principal, donde se ve la evolucion de la descarga, los
archivos descargados, en fin una serie de cosas; Pues cuando quiero hacer
una descarga utilizo una ventana DoModal, inserto los datos, y le doy aun
boton e inicia la descarga, cierro esa ventana con CDialog::OnOk(); Pero
mientras dura la descarga, aunque se me cierra la ventana, se me sigue
viendo como en segundo plano algun resto de esta ventana; Y no se me ve la
evolucion de la descarga; No se si es que hay que repintar la venatna
principal, o si es problema de hilos; No se si me estoy sabiendo explicar;
Se deberia ver la evolucion de la descarga, con una serie de datos, pero
no se ven, se ve como la barra del scroll vertical se va haciendo pero no
se ve como se estan escribiendo la informacion, una vez termina de hacer
la descarga, ese resto digamos de lo ke kedaba de ventana desaparece, y se
ve bien la ventana de la evolucion de la descarga;
Respuesta Responder a este mensaje
#4 Carlos Pérez Alonso
01/06/2004 - 18:06 | Informe spam
Tiene pinta de que deberías de crear un hilo que lleve la
descarga y otro que lleve el pintado de la ventana.
¿Tienes algo de código fuente para ver como haces la
operación?.



Si, la aplicacion si regresa, y la descarga la hace


perfecta, pero durante
el tiempo que esta haciendo la descarga permanece digamos


bloqueado, no
puedo visualizar la ventana principal como seria mi


intencion para ver la
evolucion de la descarga.











.

Respuesta Responder a este mensaje
#5 sandra_soria81
01/06/2004 - 18:29 | Informe spam
Este es parte del codigo de la aplicacion, m_pPrincipal es un puntero a la
clase base, y m_sEvolucionDescarga es donde quiero ver la evolucion de la
descarga;

void CDescargarArchivo::OnDescargarArchivo()
{
...

m_pPrincipal->m_sEvolucionDescarga = "Direccion Url Base: ";
m_pPrincipal->UpdateData(false);
m_pPrincipal->m_sEvolucionDescarga += Url;
m_pPrincipal->UpdateData(false);

CDialog::OnOK(); //para que se cierre la ventana y se siga ejecutando la
funcion

AdaptarUrlBase(&UrlBase);
DescargarArchivo(Url, Directorio, Nombre);
}


void CDescargarArchivo::DescargarArchivo(char * pagina, char * Directorio,
char * Nombre)
{
...

contenido = DescargarUrl(pagina, &error, &tamano);

m_pPrincipal->m_sEvolucionDescarga += "Guardando en el fichero";
m_pPrincipal->UpdateData(false);
m_pPrincipal->m_sEvolucionDescarga += "..";
m_pPrincipal->UpdateData(false);

/Abrimos el directorio donde queremos guardar el archivo
strcat (Directorio,nombreoriginal);
pdir = fopen(Directorio,"wb");
}

Cuando pongo CDialog::OnOK(); se me cierra la ventana y se sigue
ejecutando la descarga bien, pero no se me visualiza como va escribiendo
en la caja de texto, ke es ese mi problema, una vez terminada la descarga
si lo puedo ver; Pero yo quiero verlo al tiempo que se esta efectuando la
descarga; De hilos no entiendo absolutamente nada;
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida