• Sábado 14 de Diciembre de 2024, 17:55

Autor Tema:  Hilos  (Leído 1506 veces)

Sandra_mad

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Hilos
« en: Viernes 2 de Julio de 2004, 11:03 »
0
Hola a todos!!!! Casi tengo solucionado mi problema de hilos, gracias a
mucha gente que me ha ayudado, y guiado; El problema era modificar una
caja de texto desde otro hilo, distinto al original, que es donde se creo;
Para ello:

HWND HandleEvolucionDescarga =
m_pPrincipal>m_CtrlEvolucionDescarga.GetSafeHwnd();
Handle de la ventana que quiero modficar; Se la paso al hilo:
AfxBeginThread(HiloDescarga, (LPVOID)HandleEvolucionDescarga);

En el hilo creo un objeto:
CEdit* EvolucionDescarga = (CEdit*) CWnd::FromHandle
((HWND)pEvolucionDescarga);

Y a partir de este, modifico el contenido:

EvolucionDescarga->GetWindowText(tmp);
tmp += _T("\r\n");
tmp += _T("Guardando en el fichero:");
EvolucionDescarga->SetWindowText(tmp);

Me sale perfectamente, pero ahora bien, realmente lo que quiero es modicar
varias cajas de texto, encuadradas en un control por pestañas, mi idea era
pasar por los parametros del hilo, tantos handles como ventanas, pero me
da un error, no se si es ke no se puede, o no se...:

HWND HandleEvolucionDescarga =
m_pPrincipal->m_CtrlEvolucionDescarga.GetSafeHwnd();

HWND HandleDescargados = m_pPrincipal->m_CtrlDescargados.GetSafeHwnd();

AfxBeginThread(HiloDescarga, (LPVOID)HandleEvolucionDescarga,
(LPVOID)HandleDescargados);

Me da un error en la llamada al hilo, en AfxBegin..., para ello tengo
declarado el hilo:

HiloDescarga(LPVOID,LPVOID);

Me da el siguiente error:
none of the 2 overloads can convert parameter 1 from type 'unsigned int
(__cdecl *)(void *,void *)'

Gracias por leerme, y gracias por ayudarme;

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Hilos
« Respuesta #1 en: Sábado 3 de Julio de 2004, 11:53 »
0
Un thread solo puede aceptar un parametro, pero podes hacer que ese parametro sea un array de HANDLES y pasarlo sin problemas.

 :hola:  :ph34r:  :comp:

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Sandra_mad

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Re: Hilos
« Respuesta #2 en: Lunes 5 de Julio de 2004, 15:30 »
0
Gracias, al final lo hize con una estructura de handles;

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Hilos
« Respuesta #3 en: Lunes 5 de Julio de 2004, 15:31 »
0
De nadas, me alegro de que lo hayas podido solucionar.

 :hola:

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.