le 03-31-2009 04:03 AM
Voila j'ai une une fonction dans une DLL en C :
XLstatus xlFrSetConfiguration( XLportHandle portHandle, XLaccess accessMask, XLclusterConfig *pxlClusterConfig) ;
Un pointeur sur une structure (XLclusterConfig *pxlClusterConfig) ) c'est juste un cluster qui faut mettre en paramètre ??? ou c'est autre chose?
Car un pointeur c'est une adresse mémoire.
le
03-31-2009
06:08 AM
- dernière modification le
05-28-2025
03:48 PM
par
Content Cleaner
Bonjour,
Comme le dit l'aide de LabVIEW :
"Structure and Class Data Types — Some APIs have structure and, in the case of C++, class data types. LabVIEW cannot use these data types. If you need to use a function that has a structure or class as an argument, you should write a CIN or shared library wrapper function that takes as inputs the data types that LabVIEW supports and that appropriately packages them before LabVIEW calls the desired function. "
Vous ne pouvez pas passer directement des données de type structure a une DLL car LabVIEW ne supporte de pas ces types de données. Ainsi, il faudra créer un "wrapper" qui est en fait une DLL qui va prendre vos différents arguments de structure un par un en entrée, et qui va appeller la DLL en recréant une structure à l'intérieur de celle-ci.
Et un tas d'exemple de passage de données à des DLLs avec LabVIEW ici : Passing a Variety of Data Types from DLL to LabVIEW
Cordialement,
le 05-15-2009 09:07 AM
Comment je recupére les valeur suivante en labview
XLdriverConfig xlDrvConfig;
xlStatus = xlGetDriverConfig(&xlDrvConfig)
xlStatus : c'est un valeur numérique
typedef struct s_xl_driver_config {
unsigned int dllVersion;
unsigned int channelCount;
unsigned int reserved[10];
XLchannelConfig channel[XL_CONFIG_MAX_CHANNELS];
} XLdriverConfig;
Je voulais fair l'appel de la dll avec labview mais je sais pas ce que je dois mettre comme argument :