Necesito ayuda hilos
Hola, buenos dias a todos!!! Vereis, deseo actualizar una ventana con texto; El problema, es que la quiero actualizar desde un hilo nuevo creado, y claro esta ventana es del hilo digamos padre; Como puedo hacerlo? Todo lo que hago me da error; Diganme algo, por favor;
El S.O. es Windows? Que función/mensaje estas usando para cambiar el texto de la ventana y que tipo de ventana es?
Que atributos de seguridad tiene el thread creado?
Saludos,
Mariano http://www.c0d3rz.com.ar
Que atributos de seguridad tiene el thread creado?
Saludos,
Mariano http://www.c0d3rz.com.ar
Si, el sistema operativo es windows: la ventana es una caja de texto creada mediante un dialogo; Creo el hilo para realizar la descarga de un archivo, y que esta no me bloque el programa, una vez realiazada la descarga, quiero reflejar en esa caja de texto que la descarga ha concluido entre otras cosas; Yo lo hago con utilizando m_Principal, que es un puntero de la clase donde tengo la caja de texto; Si quito lo del hilo, me funciona, pero claro, se me bloquea el programa; pero con el hilo me da un error de ejecucion debido a eso, a la linea m_principal;
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 += "rnGuardando en el ficherorn";
m_pPrincipal->UpdateData(false);
//Escribimos lo descargado en el directorio
fwrite(contenido,sizeof(char),tamano,pdir);
}
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 += "rnGuardando en el ficherorn";
m_pPrincipal->UpdateData(false);
//Escribimos lo descargado en el directorio
fwrite(contenido,sizeof(char),tamano,pdir);
}
m_Principal ... MFC ...
m_Principal es visible por el thread? O sea, es una clase a la que el thread puede acceder?
Saludos,
Mariano http://www.c0d3rz.com.ar
m_Principal es visible por el thread? O sea, es una clase a la que el thread puede acceder?
Saludos,
Mariano http://www.c0d3rz.com.ar
HiloDescarga la tengo declarada a nivel global; Desde aqui llamo a DescargarArchivo, m_Principal si es visible aqui, osea que supongo que tb es visible en el hilo, porque cuando creo el hilo llamo a esta funcion; El error me lo da en ejecucion, no al compilar; Trabajo con las MFC, ya que soy un poco novata; garcias por las molestias
