03-28-2011 11:36 AM
Bonjour.
J'ai une carte d"acquisition vidéo dont je souhaite réaliser les drivers sous labview. Une DLL est fournie avec le manuel SDK d'utilisation.
Mais je coince à ce niveau :
Register Draw callback function: RegisterDrawFun()
API:
int RegisterDrawFun(DWORD nport, DRAWFUN(DrawFun), LONG nUser)
Parameters:
DWORD nport Channel Index
DRAWFUN(DrawFun) callback function
LONG nUser user data
Callback function explanation:
void CALLBACK DrawFun(LONG nPort,HDC hDc,LONG nUser)
nPort channel number
hDc devide context of offscreen surface is similar to the DC of display window
nUser user data
Return Values:
If the function succeeds, the return value is 0.
Remarks:
When the video is previewed with offcreen mode, the
application call this function to get the device context of offscreen
surface so that the application can draw lines, strings, rectangles on
the surface of video.
C'est le callback de la fonction "drawfun" que je ne sais pas mettre en oeuvre. Et dans quelle DLL de windows ce trouve cette fonction car elle n'est pas dans la DLL fournie.
Pourriez vous aussi me dire , comment obtient t'on le "handle" d'une valeur contenu dans un indicateur pour le donner en argument d'un appel à une DLL.
Merci d'avance pour votre aide.
Cordialement,
MH.
03-28-2011 12:18 PM
Salut,
Tu dois utiliser un "Call Library Function Node". Je ne saurais comment traduire en francais.
Ca se situe a l'interieur des fonctions de connectivite sous libraries et executables.
Lorsque tu installes le "Call Library Function Node" sur ton diagramme, tu dois par-apres le configurer.
Tu cliques (2x) sur l'icone et tu choisi la fonction dll auquel tu veux envoyer des valeurs. Une fois choisi, tu peux joindre les parametres.
03-28-2011 12:29 PM
Il n'est malheuresement pas possible de creer une function en LabVIEW qui peut servir comme un callback. Vous devez creer une fonction en C, puis le mettre dans une DLL, avec un moyen de communication entre le DLL et LabVIEW. La fonction DrawFun n'existe pas dans les DLL de Windows, c'est a vous de la developper vous-meme, et pour ca il faut un peu d'experience en C.
03-28-2011 12:53 PM
Merci.
Pour vos réponses.