Bonjour,

J'ai une fonction fourni par un fabricant de caméra, pour afficher un flux vidéo dans une fenêtre MFC:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
errChk(imaq1394Plot((GUIHNDL)hWnd, (void *)ImaqBuffer, 0, 0, AcqWinWidth, AcqWinHeight,CanvasLeft, CanvasTop, plotFlag));
Le fabricant m'a dit que cette fonction prenait le Handle HWND de ma fenêtre mais qu'il fallait la caster avec:

Le compilo me dit qu'il n'est pas d'accord, alors j'essai de faire ça plus proprement:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
GUIHNDL hWndTemp;
 
hWndTemp = reinterpret_cast < GUIHNDL >(hWnd);
errChk(imaq1394Plot(hWndTemp, (void *)ImaqBuffer, 0, 0, AcqWinWidth, AcqWinHeight,CanvasLeft, CanvasTop, plotFlag));
résultat, toujour le même, il me dit :

'reinterpret_cast': impossible de convertir de 'HWND CmyClasse::*' en 'GUIHNDL'
la definition de GUIHNDL : typedef uInt32 GUIHNDL
la definition de uInt32 : typedef unsigned long uInt32

Est-ce que mon problème est un simple soucis de mauvaise déclaration de pointeur ou est-ce qu'il y a une meilleur façon pour caster des Handles en MFC?

merci pour l'aide, je vois le bout du tunnel pour ce projet..