Actualisation d'un thread d'affichage MFC C++
Résolu
siskozed
Messages postés
69
Statut
Membre
-
siskozed Messages postés 69 Statut Membre -
siskozed Messages postés 69 Statut Membre -
Bonjour,
Je réalise en ce moment un programme qui récupère des données météo et qui les enregistre dans un tableau. Je veux ensuite les afficher toutes les 2 secondes dans mon IHM dans des "static text".
Comment puis je faire ?
Voici ce à quoi je pense pour la fonction executée par mon thread d'affichage :
Mais cette méthode ne marche pas... Unhandled exception...
Je réalise en ce moment un programme qui récupère des données météo et qui les enregistre dans un tableau. Je veux ensuite les afficher toutes les 2 secondes dans mon IHM dans des "static text".
Comment puis je faire ?
Voici ce à quoi je pense pour la fonction executée par mon thread d'affichage :
class CAffiche : public CWinThread
{
...
private:
int* m_dvent;
int* m_hygro;
int* m_hygroB;
int* m_hygroC;
int* m_hygroD;
int* m_hygroF;
float* m_tempB;
float* m_tempC;
float* m_tempD;
float* m_tempF;
float* m_temp;
float* m_pluie;
float* m_vent;
...
}
int CAffiche::Run()
{
while(1)
{
SetValeurs();
SetViewAffiche (int* hygro, int* hygroB, int* hygroC, int* hygroD, int* hygroF, float* temp, float* pluie, float* vent, float* tempB, float* tempC, float* tempD, float* tempF);
Sleep(2000);
}
return (0);
}
void CAffiche::SetValeurs()
{
m_pDonnees->m_pVerrouAffiche.Lock();
//assignation des valeurs pour les serres
*m_tempB = m_pDonnees->acquisitionReelleSerre[0][0];
*m_tempC = m_pDonnees->acquisitionReelleSerre[0][1];
*m_tempD = m_pDonnees->acquisitionReelleSerre[0][2];
*m_tempF = m_pDonnees->acquisitionReelleSerre[0][3];
*m_hygroB = (int)m_pDonnees->acquisitionReelleSerre[1][0];
*m_hygroC = (int)m_pDonnees->acquisitionReelleSerre[1][1];
*m_hygroD = (int)m_pDonnees->acquisitionReelleSerre[1][2];
*m_hygroF = (int)m_pDonnees->acquisitionReelleSerre[1][3];
//assignation des valeurs pour le climat exterieur
*m_temp = m_pDonnees->acquisitionReelleMeteo[0];
*m_hygro = (int)m_pDonnees->acquisitionReelleMeteo[1];
*m_pluie = m_pDonnees->acquisitionReelleMeteo[2];
*m_vent = m_pDonnees->acquisitionReelleMeteo[3];
m_pDonnees->m_pVerrouAffiche.Unlock();
}
void CAffiche::SetViewAffiche( int* hygro, int* hygroB, int* hygroC, int* hygroD, int* hygroF, float* temp, float* pluie, float* vent, float* tempB, float* tempC, float* tempD, float* tempF)
{
m_hygro = hygro;
m_hygroB = hygroB;
m_hygroC = hygroC;
m_hygroD = hygroD;
m_hygroF = hygroF;
m_tempB = tempB;
m_tempC = tempC;
m_tempD = tempD;
m_tempF = tempF;
m_temp = temp;
m_pluie = pluie;
m_vent = vent;
CMyProjectDoc * m_pDonnees;
}
Mais cette méthode ne marche pas... Unhandled exception...
A voir également:
- Actualisation d'un thread d'affichage MFC C++
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Problème affichage fenêtre windows 10 - Guide
- Affichage ips processeur graphique ✓ - Forum Matériel & Système
- Actualisation des données de la carte sim - Forum Samsung
2 réponses
bon, c'est bon j'ai trouvé, j'étais sur une mauvaise piste avec ma classe CAffiche. En fait, ma classe CAffiche n'est rien d'autre que ma classe C...View Je dois faire un OnTimer en passant en parametre 5000 pour qu'il effectue ca toutes les 5 secondes. et je n'ai plus qu'à faire des égalités standards en allant chercher le tableau de la classe C...Doc par un pointeur sur classe.
Voili voilou
Voili voilou