Actualisation d'un thread d'affichage MFC C++

Résolu
siskozed Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   -  
siskozed Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   -
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 :

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...

2 réponses

siskozed Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   86
 
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
1
siskozed Messages postés 69 Date d'inscription   Statut Membre Dernière intervention   86
 
y'a quelqu'un qui peut m'aider s'il vous plait c'est urgent ?
0