Récupérer un double dans une structure imbriquée qui ne marche pas
Bonjour,
Je programme uniquement en java mais pour les besoins d'une application je dois programmer un peu de C++ pour utiliser une dll.
Ne connaissant pas vraiment le c++ et ayant passé des bonnes heures sans trouver la solution je fais appel à votre aide.
Voici ci dessous le code qui me pose problème:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
##########
code C++
##########
/*fonction d'une DLL _TMC_GetAngle1
//typedef short (WINAPI *DLL_Function_TMC_GetAngle1) ( TMC_ANGLE &Angle, TMC_INCLINE_PRG eMode ); DLL_Function_TMC_GetAngle1 _TMC_GetAngle1;
//_TMC_GetAngle1 = (DLL_Function_TMC_GetAngle1)GetProcAddress(hDLL,"?TMC_GetAngle@@YAFAAUTMC_ANGLE@@W4TMC_INCLINE_PRG@@@Z");
*/
TMC_ANGLE Angles;
TMC_INCLINE_PRG eMode = TMC_PLANE_INC;
_TMC_GetAngle1(Angles, eMode);
TMC_INCLINE Incline = Angles.Incline;
double dHz = Angles.dHz;
printf("dHz = %f \n",dHz);//Ca marche je récupère la bonne valeur
double test1 = Incline.dCrossIncline;
printf("dCrossIncline_ID = %f %f \n",&Incline.dCrossIncline, test1);
##########
probleme
##########
//Ce qui m'affiche à l'écran
dHz = 4.596758
dCrossIncline_ID = 0.000974 0.000000
//dHz a la bonne valeur c'est bon
//0.000974 est la bonne valeur, mais je ne récupére que 0.000000 ou alors des valeurs du genre 6016989526623063600000000000000000.000000
//J'ai fait plein d'essais avec des . -> const & et * mais je ne parviens pas à récupérer cette valeur 0.000974 (seul printf me l'affiche correctement)
##########
ficher .hpp
##########
struct TMC_INCLINE
{
double dCrossIncline;
double dLengthIncline;
double dAccuracyIncline;
};
struct TMC_ANGLE
{
double dHz;
double dV;
double dAngleAccuracy;
TMC_INCLINE Incline;
};
enum TMC_INCLINE_PRG
{
TMC_MEA_INC = 0,
TMC_AUTO_INC = 1,
TMC_PLANE_INC = 2
};
RC_TYPE TMC_GetAngle( TMC_ANGLE &Angle, TMC_INCLINE_PRG eMode = TMC_AUTO_INC ); |
Merci d'avance pour votre aide.
Si vous pouvez tenter aussi une petite explication par curiosité!!
Je suis vraiment à cours d'idées..
Philippe