Programación General > C/C++
Acceso a punteros desde Threads
KAYSS:
Hola a tod@s!
Mi problema es que necesito acceder desde el método, que va a ejecutar como un thread y por tanto es estático, a un artributo de la clase que es un puntero a una imagen, lo cual me dice al compilar que no es posible.
Cómo podría acceder a este atributo que es un puntero desde el thread?
Gracias y saludos
Eternal Idol:
Los hilos reciben un parametro, cuando creas el hilo podes pasar el puntero al objeto de la clase en cuestion que estes usando.
KAYSS:
--- Cita de: "Eternal Idol" ---Los hilos reciben un parametro, cuando creas el hilo podes pasar el puntero al objeto de la clase en cuestion que estes usando.
--- Fin de la cita ---
Muchas gracias,
Me has solucionado el problema con uno de los hilos.
Sin embargo, en otro de los thread necesito acceder a varios atributos de la clase que son punteros y de este modo únicamente puedo pasarle uno.
Gracias y saludos
Eternal Idol:
No, de este modo podes pasar un puntero al objeto, con lo cual podes acceder a todos sus miembros.
Digamos que tenes:
--- Código: C++ ---Clase *c; //un puntero a un objeto tu clase, usaste new en algnun momento para crear el objeto
Entonces creas el hilo:
--- Código: C++ ---CreateThread(0, 0, (LPTHREAD_START_ROUTINE)Hilo, (LPVOID)c, 0, 0);
Y en el hilo:
--- Código: C++ ---DWORD WINAPI Hilo(LPVOID lpParameter){ Clase *c = (Clase*)lpParameter; c->loQueSea; c->otraCosa();}
KAYSS:
--- Cita de: "Eternal Idol" ---No, de este modo podes pasar un puntero al objeto, con lo cual podes acceder a todos sus miembros.
Digamos que tenes:
--- Código: C++ ---Clase *c; //un puntero a un objeto tu clase, usaste new en algnun momento para crear el objeto
Entonces creas el hilo:
--- Código: C++ ---CreateThread(0, 0, (LPTHREAD_START_ROUTINE)Hilo, (LPVOID)c, 0, 0);
Y en el hilo:
--- Código: C++ ---DWORD WINAPI Hilo(LPVOID lpParameter){ Clase *c = (Clase*)lpParameter; c->loQueSea; c->otraCosa();}
--- Fin de la cita ---
Muchas gracias,
Ya me queda todo más claro.
Gracias y saludos
Navegación
[#] Página Siguiente
Ir a la versión completa