Bonjour � tous!
Je pensais trouver la solutio en cherchant sur le net, mais ca fait une heure que je tourne en rond alors je me lance...
En fait, je veux faire un truc tout bete: un thread qui recupere des donn�es d'une camera.

Pour cela j'ai cr�� la classe CMaClasse qui en gros ressemble � ca:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
class CMaClasse
{
public:
	CMaClasse(void);
	~CMaClasse(void);
 
   CCamera Camera;  //classe qui gère la caméra
 
   void StartCamera();
   static UINT MyThread(LPVOID pvParam)
}
Dans ma fonction StartCamera(), je lance le thread:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
AfxBeginThread(DisplayCam, this );
Puis je definie ce que je veux faire dans mon thread (je veux pouvoir mettre les donnees RGB da mon image dans "Image":
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
UINT CCamera::DisplayCam(LPVOID pvParam)
{
	CMaClasse *pThis = reinterpret_cast<CMaClasse *>(pvParam);
	unsigned char *pImage = new unsigned char[CAMERA_WIDTH*CAMERA_HEIGHT*3];
	while (pThis->m_showCamera)
	{
                Camera.GetDIB(pImage)
	}
	return 0;
}
C'est la fonction GetDIB de ma classe CCamera qui devrait faire la travail de stockage des donnees dans la "Image". Or, ce n'est pas la cas:
- il dit ne pas connaitre "Camera" et donc impossible de jouer avec la fonction GetDIB.
Pourquoi ne reconnait-il pas la "Camera" alors que je la declare dans CMaClasse ? Est-ce que ca a � voir avec le fait que mon thread est d�clar� static ?
J'ai bien fais les include, donc le probleme ne se situe pas la... (je peux par exemple utiliser l'objet "Camera" sans probleme dans StartCamera() !