LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

appel d'une dll avec un callback d'une autre fonctionappel d'une dll avec un callback d'une autre fonction

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.

 

0 Kudos
Message 1 of 4
(2,333 Views)

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.

 

 

0 Kudos
Message 2 of 4
(2,329 Views)

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.

0 Kudos
Message 3 of 4
(2,326 Views)

Merci.

Pour vos réponses.

0 Kudos
Message 4 of 4
(2,321 Views)