Bonjour à tous,

je réalise un projet en mfc, le soucis étant que je possède une méthode LireVitesse avec un retour en int ! Je souhaite transférer cette valeur sur un edit control mais la valeur de celui ci affiche une valeur non correcte ! Je vous mets mon code !

Voici Ma methode :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int Ccommunication::LireVitesse(uint16_t ui16DevIdx, uint16_t ui16BusIdx)
{
	do
	{
	tStatus = CanGetEvent( ui16DevIdx, ui16BusIdx, &tEvent);
	if( STATUS_OK == tStatus )
		{
 
			if(tEvent.dwIdent == 0x3A)
			{
 
					Vitesse=tEvent.bData[0];
					Vitesse<<=8;
					Vitesse+=tEvent.bData[1];
					Vitesse = Vitesse/100;
 
 
			}
		}
	}while(STATUS_OK == tStatus);
	return Vitesse;
 
}
et voici la partie ou je déclare cette méthode

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
73
74
75
76
77
78
79
80
81
82
// CfaireEssaiVitesse.cpp*: fichier d'implémentation
//
 
#include "stdafx.h"
#include "TwizyDiag.h"
#include "CfaireEssaiVitesse.h"
#include "afxdialogex.h"
#include "Parametres.h"
#include "Sauvegarder.h"
#include "Ccommunication.h"
 
// Boîte de dialogue CfaireEssaiVitesse
 
IMPLEMENT_DYNAMIC(CfaireEssaiVitesse, CDialogEx)
 
CfaireEssaiVitesse::CfaireEssaiVitesse(CWnd* pParent /*=NULL*/)
	: CDialogEx(CfaireEssaiVitesse::IDD, pParent)
	, m_iVitesse(0)
{
 
 
 
}
 
CfaireEssaiVitesse::~CfaireEssaiVitesse()
{
}
 
void CfaireEssaiVitesse::DoDataExchange(CDataExchange* pDX)
{
	CDialogEx::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_STOPPERESSAI, m_StopperEssai);
	DDX_Control(pDX, IDC_REFAIREESSAI, m_RefaireEssai);
	DDX_Control(pDX, IDC_SAUVEGARDER, m_Sauvegarder);
	DDX_Text(pDX, IDC_VITESSE, m_iVitesse);
}
 
 
BEGIN_MESSAGE_MAP(CfaireEssaiVitesse, CDialogEx)
	ON_WM_TIMER()
	ON_BN_CLICKED(IDC_QUITTER, &CfaireEssaiVitesse::OnBnClickedQuitter)
	ON_BN_CLICKED(IDC_STOPPERESSAI, &CfaireEssaiVitesse::OnBnClickedStopperessai)
	ON_BN_CLICKED(IDC_SAUVEGARDER, &CfaireEssaiVitesse::OnBnClickedSauvegarder)
	ON_BN_CLICKED(IDC_REFAIREESSAI, &CfaireEssaiVitesse::OnBnClickedRefaireessai)
END_MESSAGE_MAP()
 
BOOL CfaireEssaiVitesse::OnInitDialog()
{
	CDialogEx::OnInitDialog();
 
	// Définir l'icône de cette boîte de dialogue. L'infrastructure effectue cela automatiquement
	//  lorsque la fenêtre principale de l'application n'est pas une boîte de dialogue
	SetIcon(m_hIcon, TRUE);			// Définir une grande icône
	SetIcon(m_hIcon, FALSE);		// Définir une petite icône
 
	// TODO: ajoutez ici une initialisation supplémentaire
	OnStartTimer();
 
 
	return TRUE;  // retourne TRUE, sauf si vous avez défini le focus sur un contrôle
}
void CfaireEssaiVitesse::OnStartTimer() 
{
   m_nTimer = SetTimer(1, 100, 0);
}
void CfaireEssaiVitesse::OnStopTimer() 
{
   KillTimer(m_nTimer);   
}
 
void CfaireEssaiVitesse::OnTimer(UINT_PTR nIDEvent) 
{
 
	UpdateData(TRUE);
 
 
		m_iVitesse=MaCommunication.LireVitesse(MaCommunication.ui16DevIdx,MaCommunication.ui16BusIdx);
 
 
	CDialogEx::OnTimer(nIDEvent);
	UpdateData(FALSE);
}