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 :