Pour remplir la liste, pour l'instant j'ai fait un truc ;

Voilà, dans MyProject.h je déclare :
typedef CList<CCamera*, CCamera*> CCameraList;

et dans MyProject.cpp je crée la fonction suivante


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
void CCamera::ListCamera(void)
{     
   CCameraList m_camera;
 
    CCamera1* pCamera1 = new CCamera1;
    CCamera2* pCamera2= new CCamera2;  //etc...
 
   m_camera.AddHead(pCamera1);
   delete pCamera1;
   m_camera.AddHead(pCamera2);
   delete pCamera2;  //etc...
 
}

Au niveau syntaxe, c'est bon mais en tous cas on voit en mode debug que pos reste désespérément à 0x00000000 et donc on ne rentre jamais dans jamais la boucle while(pos) du code de GetConnectedCamera que voilà ci-dessous :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CCamera* CMyProjectDoc::GetConnectedCamera()
{   
      POSITION  pos =  m_CCameraList.GetHeadPosition();
 
      while(pos)
      {
            CCamera* pCamera =  m_CCameraList.GetNext(pos);
            pCamera.Connect();
 
            if( pCamera.IsConnected() ) 
                 return pCamera;
       }
 
       return NULL;
}