Recuperation de parametre a l'interieure d'un thread

Résolu
dreamkiller_52 Messages postés 22 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 24 avril 2005 - 2 avril 2005 à 15:16
dreamkiller_52 Messages postés 22 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 24 avril 2005 - 2 avril 2005 à 19:57
Bonjours voila je cherche a recuperer la valeurs de 3 variables situé a
l'interieure d'un thread et je voie pas comment faire qq peut 'il
m'aider (il s'agit des variables strHeure strMin strSec)



UINT ThreadHorloge(LPVOID pParam)

{



CHologe* pObject = (CHologe*)pParam;

bool bTopSeconde=false;

CTime horloge /*= CTime::GetCurrentTime()*/;



int nHeure;

int nMin;

int nSec;



CString strHeure;

CString strMin;

CString strSec;



while(pObject->m_bFin!=true)

{

horloge = CTime::GetCurrentTime();

nHeure=horloge.GetHour();

nMin=horloge.GetMinute();

nSec=horloge.GetSecond();



/*CStatic * heure=(CStatic *)pObject->GetDlgItem(IDC_TEXT_HEURE);

CStatic * min=(CStatic *)pObject->GetDlgItem(IDC_TEXT_MIN);

CStatic * sec=(CStatic *)pObject->GetDlgItem(IDC_TEXT_SEC);*/



strHeure.Format("%d",nHeure);

strMin.Format("%d",nMin);

strSec.Format("%d",nSec);



/*heure->SetWindowText(strHeure);

min->SetWindowText(strMin);

sec->SetWindowText(strSec);

pObject->Invalidate();*/



Sleep(1000);

}

return 1;

}

13 réponses

dreamkiller_52 Messages postés 22 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 24 avril 2005
2 avril 2005 à 19:57
ouai j'avais pas fait gafe j'ai resolu le prob merci quand meme
3
cs_0xYg3n3 Messages postés 115 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 8 octobre 2007
2 avril 2005 à 15:24
Plusieurs solutions:



- programmation objet: tu cree des attributs


tu cree des methodes pour obtenir leur valeur



- programmation classique: variables globales
0
dreamkiller_52 Messages postés 22 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 24 avril 2005
2 avril 2005 à 15:26
c'est un peu porc les variable globale en c++ nan???
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
2 avril 2005 à 16:02
On passe autant de params qu'on veut à un thread, suffit que le pParam pointe sur une structure qu'on remplit auparavant.

ciao...
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dreamkiller_52 Messages postés 22 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 24 avril 2005
2 avril 2005 à 16:09
j'veux bien mais mon appelle de thread pointe deja vers une classe MFC



m_pTHreadHorloge=AfxBeginThread(ThreadHorloge,this,THREAD_PRIORITY_LOWEST);

m_pTHreadHorloge->m_bAutoDelete=false;
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
2 avril 2005 à 16:17
ben change le, place ton 'this' dans un membre d'une structure.

ciao...
BruNews, MVP VC++
0
dreamkiller_52 Messages postés 22 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 24 avril 2005
2 avril 2005 à 16:21
ok mais apres j'ai des erreurs sur mon afx beginThread
probleme sur le premier paramettre (dans la msdn le premier param
doit etre un LPVOID) moi la j'suis paumé
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
2 avril 2005 à 16:31
un LPVOID peut pointer sur nimporte quoi (comme tout pointeur).

typedef _MYPARAM {
long a;
long b;
} MYPARAM, *LPMYPARAM;

MYPARAM mprm;
on remplit les membres.
et en param: (LPVOID) &mprm

ciao...
BruNews, MVP VC++
0
dreamkiller_52 Messages postés 22 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 24 avril 2005
2 avril 2005 à 16:40
c'est un typedef struct nan???
0
dreamkiller_52 Messages postés 22 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 24 avril 2005
2 avril 2005 à 16:43
et de plus j'ai maintenant 16 erreurs sur la declarations de mon thread





typedef struct HORRAIRE

{

CString heure;

CString min;

CString sec;

} MYPARAM, *LPMYPARAM;





class CHologe

{

public:

HORRAIRE horloge1;

friend UINT ThreadHorloge((LPVOID) &horloge1);



.........
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
2 avril 2005 à 16:46
Excuse mais trop burnant MFC, je lache l'affaire.
Tout va si bien en API...

ciao...
BruNews, MVP VC++
0
dreamkiller_52 Messages postés 22 Date d'inscription lundi 1 novembre 2004 Statut Membre Dernière intervention 24 avril 2005
2 avril 2005 à 16:52
ok merci quand meme
0
cs_0xYg3n3 Messages postés 115 Date d'inscription mardi 1 février 2005 Statut Membre Dernière intervention 8 octobre 2007
2 avril 2005 à 19:22
Pour moi la facon la plus facile est que tu te crees des attributs dans ta classe qui gere le thread

Et ensuite tu fais des accesseurs en lecture

Rien de tres compliqué
0
Rejoignez-nous