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 : S�lectionner tout - Visualiser dans une fen�tre � part
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 : S�lectionner tout - Visualiser dans une fen�tre � part
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);
    ...
}