Thread et communication de variables
Bonjour,
Je suis bloqué dans le développement d'une application MFC (je suis débutant).
Enfaite, j'ai une classe contenant ma boite de dialogue, avec boutons et zone d'édition et une autre classe contenant une machine à état (envoi/réception de donnée en fonction de l'état via port série).
A l'appui sur un bouton, je créer un thread avec AfxBeginThread qui démarre ma machine à état. Ainsi, je peux continuer à utiliser ma boite de dialogue sans qu'elle soit bloquée par ma machine à état.
Le problème, c'est que je n'arrive pas à communiquer les états (sous forme de CString ou int peu importe) de ma machine à état vers ma boite de dialogue pour pouvoir afficher l'état en temps réel dans une zone d'édition.
Comment je peux faire?
StateMachine.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
void StateMachine::Etats (int state)
{
while (state != x)
{
switch (state)
{
case 0:
...
case 1:
...
}
}
} |
Dialog.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
StateMachine *stateMachine1 = new StateMachine;
void Dialog::OnClickedStart
{
...
AfxBeginThread(MyThread,0);
}
UINT MyThread(LPVOID Param)
{
...
stateMachine1->Etats(0);
...
} |