MFC variable qui ne prend pas la valeur d'un retour de fonction
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:
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:
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);
} |