Hola a todos!!! Siguiendo su consejo, me he puesto con los hilos; Pero
tengo un digamos pequeño problema; Vereis:
En una ventana doModal, una vez pulso para descargar cierro la ventana y
creo un nuevo hilo y llamo a la funcion HiloDescarga;
void CDescargarArchivo::OnDescargarArchivo()
{
/
CDialog::OnOK();
AfxBeginThread(HiloDescarga,this);
}
En hiloDescarga llamo a la funcion para descargar el archivo
UINT HiloDescarga (LPVOID pNulo)
{
/...
Descarga.DescargarArchivo(Url, Directorio, Nombre);
return 1;
}
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);
//Escribimos lo descargado en el directorio
fwrite(contenido,sizeof(char),tamano,pdir);
}
Pues bien, creo un hilo para ejecutar esto, me hace la descarga correcta,
ya no se me bloquea, puedo manipular el programa mientras tanto, pero
ahora, no me deja escribir, es decir, una vez que hago la descarga en
contenido tengo lo descargado, y yo quiero escribir en una caja de texto,
que se ha realizado con exito la descarga,(m_pPrincipal es un puntero a la
clase que contiene la caja de texto donde kiero escribir) y luego guardar
en el directorio ke le dije, pues bien, me da error de ejecucion si kiero
escribir, si kito lo de escribir, me lo hace perfecto; Por que puede
ser???? Antes cuando no creaba hilo, si me dejaba, claro, ke mientras me
hacia la descarga, me bloqueaba el programa; Pues nada, no se si me
enrrollado mucho, pero gracias por leerme, y gracias a todos;
Leer las respuestas