Bonjour,
J'ai une fonction fourni par un fabricant de caméra, pour afficher un flux vidéo dans une fenêtre MFC:
Le fabricant m'a dit que cette fonction prenait le Handle HWND de ma fenêtre mais qu'il fallait la caster avec:
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 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 (GUIHNDL) hWnd;
résultat, toujour le même, il me dit :
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));
la definition de GUIHNDL : typedef uInt32 GUIHNDL'reinterpret_cast': impossible de convertir de 'HWND CmyClasse::*' en '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..![]()
Partager